home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "pretty.h"
- T0 * rT49to_call(/*C*/T0 * a1,T0 * a2,T0 * a3){
- T0 * R=NULL;
- /*IF*/if (!(a2)) {
- R=a1;
- }
- else if (!(a3)) {
- {T161 *n=((T161*)new(161));
- rT161make(n,a1,a2);
- R=(T0 *)n;}}
- else if ((rT168count((T168*)a3))==(1)) {
- {T172 *n=((T172*)new(172));
- rT172make(n,a1,a2,a3);
- R=(T0 *)n;}}
- else {
- {T173 *n=((T173*)new(173));
- rT173make(n,a1,a2,a3);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int rT49a_e10(T49 *C){
- int R=0;
- /*IF*/if (rT49a_strip(C)) {
- R=1;
- }
- else if (rT49skip1(C,'\50')) {
- R=1;
- /*IF*/if (rT49a_expression(C)) {
- /*IF*/if (rT49skip1(C,'\51')) {
- rT49a_r10(C,0,(C)->_last_expression,NULL,NULL);
- }
- else {
- rT49fcp(C,(T0 *)ms299);
- }
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms300);
- }
- /*FI*/}
- else if (rT49a_manifest_constant(C)) {
- C->_last_expression=(C)->_last_manifest_constant;
- R=1;
- /*IF*/if (rT49skip1unless2(C,'\56','\56')) {
- rT49wcp(C,(T0 *)ms301);
- rT49a_after_a_dot(C,0,(C)->_last_expression);
- }
- /*FI*/}
- else if (rT49a_identifier(C)) {
- R=1;
- /*IF*/if (((((rT49a_result(C))||(rT49a_current(C)))||(rT49a_void(C)))||(rT49a_local_variable(C)))||(rT49a_argument(C))) {
- rT49a_r10(C,0,(C)->_last_expression,NULL,NULL);
- }
- else {
- rT49a_function_call(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_assignment_aux(T49 *C,int a1){
- T0 * _rhs=NULL;
- T0 * _writable=NULL;
- /*IF*/if (rT49a_current(C)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT66start_position((C)->_last_expression));
- rT49fatal_error((T0 *)ms389);
- }
- else if (rT49a_void(C)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(rT67start_position((T67*)rT49tmp_name()));
- rT49fatal_error((T0 *)ms390);
- }
- else if (rT49a_argument(C)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT66start_position((C)->_last_expression));
- rT49fatal_error((T0 *)ms391);
- }
- else {
- /*IF*/if (rT7same_as((T7*)(T0 *)ms291,((T67*)rT49tmp_name())->_to_string)) {
- /*IF*/if (!((C)->_function_type)) {
- rT49error(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms392);
- }
- /*FI*/_writable=rT67to_e_result((T67*)rT49tmp_name());
- }
- else if (rT49a_local_variable(C)) {
- _writable=(C)->_last_expression;
- }
- else {
- _writable=rT67to_feature_name((T67*)rT49tmp_name());
- }
- /*FI*//*IF*/if (rT49a_expression(C)) {
- _rhs=(C)->_last_expression;
- /*IF*/if (a1) {
- {T246 *n=((T246*)new(246));
- rT246make(n,_writable,_rhs);
- C->_last_instruction=(T0 *)n;}}
- else {
- {T247 *n=((T247*)new(247));
- rT247make(n,_writable,_rhs);
- C->_last_instruction=(T0 *)n;}}
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms393);
- }
- /*FI*/}
- /*FI*/}
- int rT49a_assignment_or_call(T49 *C){
- int R=0;
- /*IF*/if ((rT49skip1(C,'\50'))&&(rT49a_expression(C))) {
- R=1;
- /*IF*/if (rT49skip1(C,'\51')) {
- rT49a_r10(C,1,(C)->_last_expression,NULL,NULL);
- }
- else {
- rT49fcp(C,(T0 *)ms388);
- }
- /*FI*/}
- else if (rT49a_identifier(C)) {
- R=1;
- /*IF*/if (rT49skip2(C,'\72','\75')) {
- rT49a_assignment_aux(C,1);
- }
- else if (rT49skip2(C,'\77','\75')) {
- rT49a_assignment_aux(C,0);
- }
- else if ((((rT49a_current(C))||(rT49a_result(C)))||(rT49a_local_variable(C)))||(rT49a_argument(C))) {
- rT49a_r10(C,1,(C)->_last_expression,NULL,NULL);
- }
- else {
- rT49a_procedure_call(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0* rT49a_assertion(T49 *C){
- T0* R=NULL;
- int _state=0;
- T0 * _assertion=NULL;
- T0 * _expression=NULL;
- T0 * _tag=NULL;
- while (!((_state)>(3))) {
- {int iv1=_state;
- if (0 == iv1) goto l59;
- goto l60;
- l59: ;
- /*IF*/if (((C)->_cc)==('\73')) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- /*IF*/if (((int)(C)->_last_comments)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,NULL,NULL,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/}
- /*FI*/}
- else if (rT49a_tag_mark(C)) {
- _tag=(C)->_last_tag_mark;
- _state=1;
- }
- else if (rT49a_expression(C)) {
- _expression=(C)->_last_expression;
- _state=2;
- }
- else {
- _state=4;
- }
- /*FI*/goto l58;
- l60: ;
- if (1 == iv1) goto l61;
- goto l62;
- l61: ;
- /*IF*/if (rT49skip1(C,'\73')) {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,NULL,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=0;
- }
- else if (rT49a_tag_mark(C)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,NULL,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_tag=(C)->_last_tag_mark;
- }
- else if (rT49a_expression(C)) {
- _expression=(C)->_last_expression;
- _state=3;
- }
- else {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,NULL,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=4;
- }
- /*FI*/goto l58;
- l62: ;
- if (2 == iv1) goto l63;
- goto l64;
- l63: ;
- /*IF*/if (rT49skip1(C,'\73')) {
- {T62 *n=((T62*)new(62));
- rT62make(n,NULL,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=0;
- }
- else if (rT49a_tag_mark(C)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,NULL,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_tag=(C)->_last_tag_mark;
- _state=1;
- }
- else if (rT49a_expression(C)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,NULL,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_expression=(C)->_last_expression;
- _state=2;
- }
- else {
- {T62 *n=((T62*)new(62));
- rT62make(n,NULL,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=4;
- }
- /*FI*/goto l58;
- l64: ;
- /*IF*/if (rT49skip1(C,'\73')) {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=0;
- }
- else if (rT49a_tag_mark(C)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_tag=(C)->_last_tag_mark;
- _state=1;
- }
- else if (rT49a_expression(C)) {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_expression=(C)->_last_expression;
- _state=2;
- }
- else {
- {T62 *n=((T62*)new(62));
- rT62make(n,_tag,_expression,rT49get_comments(C));
- _assertion=(T0 *)n;}
- /*IF*/if (!(R)) {
- R=ma(156,0,1,_assertion);
- }
- else {
- rT156add_last((T156*)R,_assertion);
- }
- /*FI*/_state=4;
- }
- /*FI*/ l58: ;
- }
- }
- return R;
- }
- void rT49a_formal_arg_list(T49 *C){
- int _state=0;
- T0* _list=NULL;
- T0 * _declaration=NULL;
- T0* _name_list=NULL;
- T0 * _name=NULL;
- T0 * _sp=NULL;
- C->_arguments=NULL;
- while (!((_state)>(5))) {
- {int iv1=_state;
- if (0 == iv1) goto l66;
- goto l67;
- l66: ;
- /*IF*/if (rT49skip1(C,'\50')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _state=1;
- }
- else {
- _state=6;
- }
- /*FI*/goto l65;
- l67: ;
- if (1 == iv1) goto l68;
- goto l69;
- l68: ;
- /*IF*/if (rT49a_identifier(C)) {
- _name=rT67to_decl_name((T67*)rT49tmp_name());
- _state=2;
- }
- else if (rT49skip1(C,'\51')) {
- _state=6;
- }
- else {
- _state=7;
- }
- /*FI*/goto l65;
- l69: ;
- if (2 == iv1) goto l70;
- goto l71;
- l70: ;
- /*IF*/if (rT49skip1(C,'\72')) {
- /*IF*/if (((int)_name_list)) {
- rT139add_last((T139*)_name_list,_name);
- _name=NULL;
- }
- /*FI*/_state=4;
- }
- else {
- C->_ok=rT49skip1(C,'\54');
- /*IF*/if (!(_name_list)) {
- _name_list=ma(139,0,1,_name);
- }
- else {
- rT139add_last((T139*)_name_list,_name);
- }
- /*FI*/_name=NULL;
- _state=3;
- }
- /*FI*/goto l65;
- l71: ;
- if (3 == iv1) goto l72;
- goto l73;
- l72: ;
- /*IF*/if (rT49a_identifier(C)) {
- _name=rT67to_decl_name((T67*)rT49tmp_name());
- _state=2;
- }
- else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\73'))) {
- rT49wcp(C,(T0 *)ms256);
- C->_ok=(rT49skip1(C,'\54'))||(rT49skip1(C,'\73'));
- }
- else {
- _state=7;
- }
- /*FI*/goto l65;
- l73: ;
- if (4 == iv1) goto l74;
- goto l75;
- l74: ;
- /*IF*/if (rT49a_type(C)) {
- /*IF*/if (((int)_name_list)) {
- {T140 *n=((T140*)new(140));
- rT140make(n,_name_list,(C)->_last_type);
- _declaration=(T0 *)n;}_name_list=NULL;
- }
- else {
- {T92 *n=((T92*)new(92));
- rT92make(n,_name,(C)->_last_type);
- _declaration=(T0 *)n;}_name=NULL;
- }
- /*FI*//*IF*/if (!(_list)) {
- _list=ma(141,0,1,_declaration);
- }
- else {
- XrT141add_last(_list,_declaration);
- }
- /*FI*/_declaration=NULL;
- _state=5;
- }
- else {
- _state=7;
- }
- /*FI*/goto l65;
- l75: ;
- /*IF*/if (rT49skip1(C,'\51')) {
- _state=6;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms257);
- C->_ok=rT49skip1(C,'\54');
- _state=1;
- }
- else {
- C->_ok=rT49skip1(C,'\73');
- _state=1;
- }
- /*FI*/ l65: ;
- }
- }
- /*IF*/if ((_state)==(7)) {
- rT49fcp(C,(T0 *)ms258);
- }
- else if ((((int)_sp))&&(!(_list))) {
- rT49warning(_sp,(T0 *)ms259);
- }
- else if (((int)_sp)) {
- {T90 *n=((T90*)new(90));
- rT90make(n,_sp,_list);
- C->_arguments=(T0 *)n;}
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_arguments)=((C)->_arguments);
- /*)*/}
- /*FI*/}
- void rT49a_undefine_list(T49 *C){
- /*IF*/if (rT49a_feature_list(C)) {
- rT116set_undefine((T116*)(C)->_last_parent,(C)->_last_feature_list);
- }
- /*FI*/}
- int rT49a_prefix(T49 *C){
- int R=0;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms79)) {
- R=1;
- /*IF*/if (((C)->_cc)==('\42')) {
- rT49next_char(C);
- }
- else {
- rT49wcp(C,(T0 *)ms81);
- }
- /*FI*//*IF*/if (rT49a_unary(C)) {
- }
- else if (rT49a_free_operator(C)) {
- C->_last_prefix=rT67to_prefix_name((T67*)rT49tmp_operator());
- }
- else {
- rT49fcp(C,(T0 *)ms86);
- }
- /*FI*//*IF*/if (!(rT49skip1(C,'\42'))) {
- rT49wcp(C,(T0 *)ms87);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_formal_generic_list(T49 *C){
- int _state=0;
- T0* _list=NULL;
- T0 * _fga=NULL;
- T0 * _constraint=NULL;
- T0 * _name=NULL;
- T0 * _sp=NULL;
- C->_formal_generic_list=NULL;
- while (!((_state)>(4))) {
- {int iv1=_state;
- if (0 == iv1) goto l77;
- goto l78;
- l77: ;
- /*IF*/if (rT49skip1(C,'\133')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _state=1;
- }
- else {
- _state=5;
- }
- /*FI*/goto l76;
- l78: ;
- if (1 == iv1) goto l79;
- goto l80;
- l79: ;
- /*IF*/if (rT49a_base_class_name(C)) {
- _name=(C)->_last_class_name;
- _state=2;
- }
- else {
- _state=6;
- }
- /*FI*/goto l76;
- l80: ;
- if (2 == iv1) goto l81;
- goto l82;
- l81: ;
- /*IF*/if (rT49skip2(C,'\55','\76')) {
- _state=4;
- }
- else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\135'))) {
- {T82 *n=((T82*)new(82));
- rT82make(n,_name,_constraint);
- _fga=(T0 *)n;}
- _name=NULL;
- _constraint=NULL;
- /*IF*/if (!(_list)) {
- _list=ma(84,0,1,_fga);
- }
- else {
- rT84add_last((T84*)_list,_fga);
- }
- /*FI*/_fga=NULL;
- /*IF*/if (rT49skip1(C,'\54')) {
- _state=1;
- }
- else {
- C->_ok=rT49skip1(C,'\135');
- _state=5;
- }
- /*FI*/}
- else {
- _state=6;
- }
- /*FI*/goto l76;
- l82: ;
- if (3 == iv1) goto l83;
- goto l84;
- l83: ;
- /*IF*/if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\135'))) {
- {T82 *n=((T82*)new(82));
- rT82make(n,_name,_constraint);
- _fga=(T0 *)n;}
- _name=NULL;
- _constraint=NULL;
- /*IF*/if (!(_list)) {
- _list=ma(84,0,1,_fga);
- }
- else {
- rT84add_last((T84*)_list,_fga);
- }
- /*FI*/_fga=NULL;
- /*IF*/if (rT49skip1(C,'\54')) {
- _state=1;
- }
- else {
- C->_ok=rT49skip1(C,'\135');
- _state=5;
- }
- /*FI*/}
- else {
- _state=6;
- }
- /*FI*/goto l76;
- l84: ;
- /*IF*/if (rT49a_class_type(C)) {
- _constraint=(C)->_last_class_type;
- _state=3;
- }
- else {
- rT49fcp(C,(T0 *)ms217);
- _state=6;
- }
- /*FI*/ l76: ;
- }
- }
- /*IF*/if ((_state)==(6)) {
- }
- else if ((((int)_sp))&&(!(_list))) {
- rT49warning(_sp,(T0 *)ms218);
- }
- else if (((int)_sp)) {
- {T83 *n=((T83*)new(83));
- rT83make(n,_sp,_list);
- C->_formal_generic_list=(T0 *)n;}
- /*(IRF3*/(((T48*)(C)->_last_base_class)->_formal_generic_list)=((C)->_formal_generic_list);
- /*)*/}
- /*FI*/}
- void rT49fatal_error(/*C*/T0* a1){
- rT43fatal_error((T43*)oRBC27eh,a1);
- }
- void rT49a_function_call(T49 *C){
- T0 * _e_current=NULL;
- T0 * _fn=NULL;
- _fn=rT67to_feature_name((T67*)rT49tmp_name());
- {T87 *n=((T87*)new(87));
- rT87make(n,XrT65start_position(_fn),0);
- _e_current=(T0 *)n;}
- rT49a_r10(C,0,_e_current,_fn,rT49a_actuals(C));
- }
- int rT49a_keyword(T49 *C,T0* a1){
- int R=0;
- int _i=0;
- C->_start_line=(C)->_line;
- C->_start_column=(C)->_column;
- while (!(((_i)==(((T7*)a1)->_count))||(!(rT3same_as((C)->_cc,rT7item((T7*)a1,(_i)+(1))))))) {
- _i=(_i)+(1);
- rT49next_char(C);
- }
- /*IF*/if ((_i)==(((T7*)a1)->_count)) {
- {int iv1=(C)->_cc;
- if ((9 <= iv1) && (iv1<= 10)) goto l86;
- if (32 == iv1) goto l86;
- if (45 == iv1) goto l86;
- goto l87;
- l86: ;
- R=1;
- rT49skip_comments(C);
- goto l85;
- l87: ;
- if ((48 <= iv1) && (iv1<= 57)) goto l88;
- if ((65 <= iv1) && (iv1<= 90)) goto l88;
- if (95 == iv1) goto l88;
- if ((97 <= iv1) && (iv1<= 122)) goto l88;
- goto l89;
- l88: ;
- while (!((_i)==(0))) {
- rT49prev_char(C);
- _i=(_i)-(1);
- }
- goto l85;
- l89: ;
- R=1;
- l85: ;
- }
- }
- else {
- while (!((_i)==(0))) {
- rT49prev_char(C);
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int rT49a_loop(T49 *C){
- int R=0;
- T0* _al=NULL;
- T0 * _hc=NULL;
- T0 * _lb=NULL;
- T0 * _ue=NULL;
- T0 * _vc=NULL;
- T0 * _ic=NULL;
- T0 * _i=NULL;
- T0 * _e_loop=NULL;
- T0 * _sp2=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms370)) {
- R=1;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _i=rT49a_compound1(C,(T0 *)ms371);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms372)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp2=(T0 *)n;}
- _hc=rT49get_comments(C);
- _al=rT49a_assertion(C);
- /*IF*/if ((((int)_hc))||(((int)_al))) {
- {T234 *n=((T234*)new(234));
- rT234make(n,_sp2,_hc,_al);
- _ic=(T0 *)n;}
- }
- /*FI*/}
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms373)) {
- /*IF*/if ((rT49a_tag_mark(C))&&(rT49a_expression(C))) {
- {T236 *n=((T236*)new(236));
- rT236make(n,(C)->_last_tag_mark,(C)->_last_expression,rT49get_comments(C));
- _vc=(T0 *)n;}}
- else if (rT49a_expression(C)) {
- {T237 *n=((T237*)new(237));
- rT237make(n,(C)->_last_expression,rT49get_comments(C));
- _vc=(T0 *)n;}}
- else {
- rT49wcp(C,(T0 *)ms374);
- }
- /*FI*/}
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms375)) {
- /*IF*/if (rT49a_expression(C)) {
- _ue=XrT66add_comment((C)->_last_expression,rT49get_comments(C));
- }
- else {
- rT49fcp(C,(T0 *)ms376);
- _ue=(C)->_last_expression;
- }
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms377);
- _ue=(C)->_last_expression;
- }
- /*FI*//*IF*/if (((C)->_cc)==('\73')) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- /*FI*//*IF*/if (!(rT49a_keyword(C,(T0 *)ms378))) {
- rT49wcp(C,(T0 *)ms379);
- }
- /*FI*/_lb=rT49a_compound2(C,(T0 *)ms380,(T0 *)ms119);
- {T233 *n=((T233*)new(233));
- rT233make(n,_sp,_i,_ic,_vc,_ue,_lb);
- _e_loop=(T0 *)n;}
- C->_last_instruction=_e_loop;
- }
- /*FI*/return R;
- }
- int rT49a_inspect(T49 *C){
- int R=0;
- T0 * _ec=NULL;
- T0 * _i=NULL;
- T0 * _spec=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms361)) {
- R=1;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_expression(C)) {
- C->_last_expression=XrT66add_comment((C)->_last_expression,rT49get_comments(C));
- }
- else {
- rT49fcp(C,(T0 *)ms362);
- }
- /*FI*/{T223 *n=((T223*)new(223));
- rT223make(n,_sp,(C)->_last_expression);
- _i=(T0 *)n;}
- while (!(!(rT49a_when_part(C,_i)))) {
- }
- /*IF*/if (rT49a_keyword(C,(T0 *)ms105)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _spec=(T0 *)n;}
- _ec=rT49a_compound2(C,(T0 *)ms368,(T0 *)ms119);
- rT223set_else_compound((T223*)_i,_spec,_ec);
- }
- else if (!(rT49a_keyword(C,(T0 *)ms119))) {
- rT49wcp(C,(T0 *)ms369);
- }
- /*FI*/C->_last_instruction=_i;
- }
- /*FI*/return R;
- }
- int rT49a_instruction(T49 *C){
- int R=0;
- R=(((((((rT49a_check(C))||(rT49a_debug(C)))||(rT49a_conditional(C)))||(rT49a_retry(C)))||(rT49a_inspect(C)))||(rT49a_loop(C)))||(rT49a_creation(C)))||(rT49a_assignment_or_call(C));
- return R;
- }
- int rT49a_result(T49 *C){
- int R=0;
- /*IF*/if (rT7same_as((T7*)(T0 *)ms291,((T67*)rT49tmp_name())->_to_string)) {
- /*IF*/if (!((C)->_function_type)) {
- rT49error(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms292);
- }
- /*FI*/C->_last_expression=rT67to_e_result((T67*)rT49tmp_name());
- R=1;
- }
- /*FI*/return R;
- }
- void rT49a_new_export_list(T49 *C){
- int _state=0;
- T0 * _new_export_item=NULL;
- T0* _items=NULL;
- T0 * _clients=NULL;
- T0 * _sp=NULL;
- T0 * _export_list=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms231)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- while (!((_state)>(3))) {
- {int iv1=_state;
- if (0 == iv1) goto l91;
- goto l92;
- l91: ;
- /*IF*/if (((C)->_cc)==('\173')) {
- _clients=rT49a_clients(C);
- _state=1;
- }
- else if (((C)->_cc)==('\73')) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- else {
- /*IF*/if (((int)_items)) {
- {T120 *n=((T120*)new(120));
- rT120make(n,_sp,_items);
- _export_list=(T0 *)n;}
- /*(IRF3*/(((T116*)(C)->_last_parent)->_export_list)=(_export_list);
- /*)*/}
- /*FI*/_state=4;
- }
- /*FI*/goto l90;
- l92: ;
- if (1 == iv1) goto l93;
- goto l94;
- l93: ;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms237)) {
- {T122 *n=((T122*)new(122));
- rT122make_all(n,_clients);
- _new_export_item=(T0 *)n;}
- /*IF*/if (!(_items)) {
- _items=ma(125,0,1,_new_export_item);
- }
- else {
- rT125add_last((T125*)_items,_new_export_item);
- }
- /*FI*/_state=2;
- }
- else {
- /*IF*/if (rT49a_feature_list(C)) {
- {T122 *n=((T122*)new(122));
- rT122make(n,_clients,(C)->_last_feature_list);
- _new_export_item=(T0 *)n;}
- /*IF*/if (!(_items)) {
- _items=ma(125,0,1,_new_export_item);
- }
- else {
- rT125add_last((T125*)_items,_new_export_item);
- }
- /*FI*/_state=2;
- }
- else {
- _state=3;
- }
- /*FI*/}
- /*FI*/goto l90;
- l94: ;
- if (2 == iv1) goto l95;
- goto l96;
- l95: ;
- /*IF*/if (rT49skip1(C,'\73')) {
- _state=0;
- }
- else if (((C)->_cc)==('\173')) {
- rT49wcp(C,(T0 *)ms240);
- _state=0;
- }
- else {
- /*IF*/if (((int)_items)) {
- {T120 *n=((T120*)new(120));
- rT120make(n,_sp,_items);
- _export_list=(T0 *)n;}
- /*(IRF3*/(((T116*)(C)->_last_parent)->_export_list)=(_export_list);
- /*)*/}
- /*FI*/_state=4;
- }
- /*FI*/goto l90;
- l96: ;
- rT49fcp(C,(T0 *)ms234);
- _state=4;
- l90: ;
- }
- }
- }
- /*FI*/}
- int rT49a_current(T49 *C){
- int R=0;
- /*IF*/if (rT7same_as((T7*)(T0 *)ms203,((T67*)rT49tmp_name())->_to_string)) {
- C->_last_expression=rT67to_e_current((T67*)rT49tmp_name());
- R=1;
- }
- /*FI*/return R;
- }
- int rT49a_retry(T49 *C){
- int R=0;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms359)) {
- /*IF*/if (!((C)->_in_rescue)) {
- rT49error(rT49pos((C)->_start_line,(C)->_start_column),(T0 *)ms360);
- }
- /*FI*/{T222 *n=((T222*)new(222));
- /*(IRF3*/((n)->_start_position)=(rT49pos((C)->_start_line,(C)->_start_column));
- /*)*/C->_last_instruction=(T0 *)n;}R=1;
- }
- /*FI*/return R;
- }
- int rT49a_integer_constant(T49 *C){
- int R=0;
- /*IF*/if (rT49skip1(C,'\53')) {
- /*IF*/if (!(rT49a_integer(C))) {
- rT49fcp(C,(T0 *)ms173);
- }
- else {
- R=1;
- }
- /*FI*/}
- else if (rT49skip1(C,'\55')) {
- /*IF*/if (!(rT49a_integer(C))) {
- rT49fcp(C,(T0 *)ms173);
- }
- else {
- C->_last_integer_constant=rT78_px45((T78*)(C)->_last_integer_constant);
- R=1;
- }
- /*FI*/}
- else {
- R=rT49a_integer(C);
- }
- /*FI*/return R;
- }
- int rT49a_integer(T49 *C){
- int R=0;
- int _value=0;
- int _state=0;
- /*IF*/if (rT3is_digit((C)->_cc)) {
- R=1;
- C->_start_line=(C)->_line;
- C->_start_column=(C)->_column;
- _value=rT3value((C)->_cc);
- while (!((_state)>(3))) {
- rT49next_char(C);
- {int iv1=_state;
- if (0 == iv1) goto l98;
- goto l99;
- l98: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l101;
- goto l102;
- l101: ;
- _value=((_value)*(10))+(rT3value((C)->_cc));
- goto l100;
- l102: ;
- if (95 == iv2) goto l103;
- goto l104;
- l103: ;
- _state=1;
- goto l100;
- l104: ;
- _state=4;
- l100: ;
- }
- goto l97;
- l99: ;
- if (1 == iv1) goto l105;
- goto l106;
- l105: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l108;
- goto l109;
- l108: ;
- _value=((_value)*(10))+(rT3value((C)->_cc));
- _state=2;
- goto l107;
- l109: ;
- rT49fcp(C,(T0 *)ms169);
- l107: ;
- }
- goto l97;
- l106: ;
- if (2 == iv1) goto l110;
- goto l111;
- l110: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l113;
- goto l114;
- l113: ;
- _value=((_value)*(10))+(rT3value((C)->_cc));
- _state=3;
- goto l112;
- l114: ;
- rT49fcp(C,(T0 *)ms169);
- l112: ;
- }
- goto l97;
- l111: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l116;
- goto l117;
- l116: ;
- _value=((_value)*(10))+(rT3value((C)->_cc));
- _state=0;
- goto l115;
- l117: ;
- rT49fcp(C,(T0 *)ms169);
- l115: ;
- }
- l97: ;
- }
- rT49skip_comments(C);
- {T78 *n=((T78*)new(78));
- rT78make(n,_value,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_integer_constant=(T0 *)n;}
- }
- }
- /*FI*/return R;
- }
- void rT49err_exp(/*C*/T0 * a1,T0* a2){
- T0* _msg=NULL;
- {T7 *n=((T7*)new(7));
- rT7make(n,0);
- _msg=(T0 *)n;}
- rT7append((T7*)_msg,(T0 *)ms281);
- rT7append((T7*)_msg,a2);
- rT7append((T7*)_msg,(T0 *)ms282);
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT49fatal_error(_msg);
- }
- int rT49a_expression(T49 *C){
- int R=0;
- T0* _list=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49skip2(C,'\74','\74')) {
- R=1;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- while (!(!(rT49a_expression(C)))) {
- /*IF*/if (!(_list)) {
- _list=ma(79,0,1,(C)->_last_expression);
- }
- else {
- XrT79add_last(_list,(C)->_last_expression);
- }
- /*FI*/C->_ok=rT49skip1(C,'\54');
- }
- /*IF*/if (!(rT49skip2(C,'\76','\76'))) {
- rT49fcp(C,(T0 *)ms280);
- }
- /*FI*/{T158 *n=((T158*)new(158));
- rT158make(n,_sp,_list);
- C->_last_expression=(T0 *)n;}}
- else {
- R=rT49a_e0(C);
- }
- /*FI*/return R;
- }
- int rT49a_void(T49 *C){
- int R=0;
- /*IF*/if (rT7same_as((T7*)(T0 *)ms293,((T67*)rT49tmp_name())->_to_string)) {
- C->_last_expression=rT67to_e_void((T67*)rT49tmp_name());
- R=1;
- }
- /*FI*/return R;
- }
- void rT49a_procedure_call(T49 *C){
- T0 * _e_current=NULL;
- T0 * _fn=NULL;
- _fn=rT67to_feature_name((T67*)rT49tmp_name());
- {T87 *n=((T87*)new(87));
- rT87make(n,XrT65start_position(_fn),0);
- _e_current=(T0 *)n;}
- rT49a_r10(C,1,_e_current,_fn,rT49a_actuals(C));
- }
- T0* rT49a_external_name(T49 *C){
- T0* R=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms339)) {
- /*IF*/if (!(rT49a_manifest_string(C))) {
- rT49fcp(C,(T0 *)ms340);
- }
- else {
- R=((T74*)(C)->_last_manifest_string)->_to_string;
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT49a_external(T49 *C){
- T0 * R=NULL;
- T0 * _external_lgg=NULL;
- /*IF*/if (!(rT49a_manifest_string(C))) {
- rT49fcp(C,(T0 *)ms333);
- _external_lgg=((T0 *)((T205*)new(205)));
- }
- else if (rT7is_equal(ms334,((T74*)(C)->_last_manifest_string)->_to_string)) {
- _external_lgg=((T0 *)((T205*)new(205)));
- }
- else if (rT7is_equal(ms335,((T74*)(C)->_last_manifest_string)->_to_string)) {
- _external_lgg=((T0 *)((T206*)new(206)));
- }
- else if (rT7is_equal(ms336,((T74*)(C)->_last_manifest_string)->_to_string)) {
- _external_lgg=((T0 *)((T207*)new(207)));
- }
- else {
- /*UT*/(T43*)oRBC27eh;
- rT43append((T0 *)ms337);
- /*UT*/(T43*)oRBC27eh;
- rT43append(((T74*)(C)->_last_manifest_string)->_to_string);
- rT49fcp(C,(T0 *)ms338);
- _external_lgg=((T0 *)((T205*)new(205)));
- }
- /*FI*/R=rT134to_external_routine((T134*)oRBC49tmp_feature,_external_lgg,rT49a_external_name(C));
- return R;
- }
- T0* rT49clone(T49 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0*oRBC49forbidden_class;
- void rT49a_r10(T49 *C,int a1,T0 * a2,T0 * a3,T0 * a4){
- /*IF*/if (rT49skip1unless2(C,'\56','\56')) {
- rT49a_after_a_dot(C,a1,rT49to_call(a2,a3,a4));
- }
- else {
- /*IF*/if (a1) {
- C->_last_instruction=rT49to_proc_call(C,a2,a3,a4);
- C->_last_expression=NULL;
- }
- else {
- C->_last_expression=rT49to_call(a2,a3,a4);
- C->_last_instruction=NULL;
- }
- /*FI*/}
- /*FI*/}
- T0 * rT49analyse_class(T49 *C,T0* a1){
- T0 * R=NULL;
- int _old_nbw=0;
- int _old_nbe=0;
- /*IF*/if ((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)>(0)) {
- /*UT*/(T43*)oRBC27eh;
- rT43append((T0 *)ms74);
- rT43print_as_fatal_error((T43*)oRBC27eh);
- }
- /*FI*//*IF*/if (/*(IRF4*/(!(/*(IRF4*/(!(/*(IRF4*/((T49*)oRBC27eiffel_parser)->_is_running/*)*/))&&(((T50*)oRBC27small_eiffel)->_is_doing_eval_flag)/*)*/))&&(((T50*)oRBC27small_eiffel)->_is_compiling_flag)/*)*/) {
- rT38put_integer((T38*)oRBC1std_output,(/*(IRF4*/(/*UT*/(T50*)oRBC27small_eiffel,
- ((T52*)oRBC50base_class_dictionary)->_count/*)*/))+(1));
- rT38put_character((T38*)oRBC1std_output,'\11');
- rT38put_string((T38*)oRBC1std_output,a1);
- rT38put_character((T38*)oRBC1std_output,'\12');
- }
- /*FI*/_old_nbe=/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/;
- _old_nbw=/*(IRF4*/((T43*)oRBC27eh)->_nb_warnings/*)*/;
- C->_is_running=1;
- C->_function_type=NULL;
- C->_in_ensure=0;
- C->_last_comments=NULL;
- rT58read((T58*)oRBC49text,a1);
- C->_line=1;
- C->_column=1;
- C->_current_line=(/*UT*/(T58*)oRBC49text,
- rT58item((C)->_line));
- /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) {
- C->_cc='\12';
- }
- else {
- C->_cc=rT7first((T7*)(C)->_current_line);
- }
- /*FI*/{T48 *n=((T48*)new(48));
- rT48make(n,a1);
- C->_last_base_class=(T0 *)n;}
- rT49skip_comments(C);
- rT49a_class_declaration(C);
- C->_is_running=0;
- R=(C)->_last_base_class;
- /*IF*/if (((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)-(_old_nbe))>(0)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms409);
- rT33put_integer((T33*)oRBC1std_error,/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms410);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms411);
- rT33put_string((T33*)oRBC1std_error,a1);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms412);
- R=NULL;
- }
- else if (((/*(IRF4*/((T43*)oRBC27eh)->_nb_warnings/*)*/)-(_old_nbw))>(0)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms413);
- rT33put_integer((T33*)oRBC1std_error,/*(IRF4*/((T43*)oRBC27eh)->_nb_warnings/*)*/);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms414);
- }
- /*FI*//*IF*/if (((int)R)) {
- rT50add_class((T50*)oRBC27small_eiffel,R);
- rT48get_started((T48*)R);
- }
- /*FI*/return R;
- }
- T0 * rT49a_routine_body(T49 *C){
- T0 * R=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms331)) {
- rT48set_is_deferred((T48*)(C)->_last_base_class);
- R=rT134to_deferred_routine((T134*)oRBC49tmp_feature);
- }
- else if (rT49a_keyword(C,(T0 *)ms332)) {
- R=rT49a_external(C);
- }
- else if (rT49a_keyword(C,(T0 *)ms341)) {
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_routine_body)=(rT49a_compound1(C,(T0 *)ms394));
- /*)*/R=rT134to_procedure_or_function((T134*)oRBC49tmp_feature);
- }
- else if (rT49a_keyword(C,(T0 *)ms395)) {
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_routine_body)=(rT49a_compound1(C,(T0 *)ms396));
- /*)*/R=rT134to_once_routine((T134*)oRBC49tmp_feature);
- }
- else {
- rT49fcp(C,(T0 *)ms397);
- }
- /*FI*/return R;
- }
- T0 * rT49a_routine(T49 *C){
- T0 * R=NULL;
- T0 * _ea=NULL;
- T0* _al=NULL;
- T0 * _hc=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms277)) {
- /*IF*/if (rT49a_manifest_string(C)) {
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_obsolete_mark)=((C)->_last_manifest_string);
- /*)*/}
- else {
- rT49fcp(C,(T0 *)ms278);
- }
- /*FI*/}
- /*FI*//*(IRF3*/(((T134*)oRBC49tmp_feature)->_header_comment)=(rT49get_comments(C));
- /*)*//*IF*/if (rT49a_keyword(C,(T0 *)ms279)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_keyword(C,(T0 *)ms105)) {
- _hc=rT49get_comments(C);
- rT134set_require_else((T134*)oRBC49tmp_feature,_sp,_hc,rT49a_assertion(C));
- }
- else {
- _hc=rT49get_comments(C);
- rT134set_require((T134*)oRBC49tmp_feature,_sp,_hc,rT49a_assertion(C));
- }
- /*FI*/}
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms325)) {
- rT49a_local_var_list(C,rT49pos((C)->_start_line,(C)->_start_column));
- }
- /*FI*/R=rT49a_routine_body(C);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms398)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- C->_in_ensure=1;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms102)) {
- _hc=rT49get_comments(C);
- _al=rT49a_assertion(C);
- /*IF*/if ((((int)_hc))||(((int)_al))) {
- {T155 *n=((T155*)new(155));
- rT155make(n,_sp,_hc,_al);
- _ea=(T0 *)n;}
- /*(IRF3*/(((T155*)_ea)->_is_ensure_then)=(1);
- /*)*/}
- /*FI*/XrT154set_ensure_assertion(R,_ea);
- }
- else {
- _hc=rT49get_comments(C);
- _al=rT49a_assertion(C);
- /*IF*/if ((((int)_hc))||(((int)_al))) {
- {T155 *n=((T155*)new(155));
- rT155make(n,_sp,_hc,_al);
- _ea=(T0 *)n;}
- }
- /*FI*/XrT154set_ensure_assertion(R,_ea);
- }
- /*FI*/C->_in_ensure=0;
- }
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms399)) {
- C->_in_rescue=1;
- XrT154set_rescue_compound(R,rT49a_compound2(C,(T0 *)ms401,(T0 *)ms119));
- C->_in_rescue=0;
- }
- else {
- /*IF*/if (!(rT49a_keyword(C,(T0 *)ms119))) {
- rT49wcp(C,(T0 *)ms402);
- }
- /*FI*/}
- /*FI*/C->_local_vars=NULL;
- return R;
- }
- T0*oRBC49tmp_feature;
- void rT49skip_comments(T49 *C){
- int _state=0;
- T0 * _sp=NULL;
- while (!((_state)==(2))) {
- {int iv1=_state;
- if (0 == iv1) goto l119;
- goto l120;
- l119: ;
- {int iv2=(C)->_cc;
- if ((9 <= iv2) && (iv2<= 10)) goto l122;
- if (32 == iv2) goto l122;
- goto l123;
- l122: ;
- rT49next_char(C);
- goto l121;
- l123: ;
- if (45 == iv2) goto l124;
- goto l125;
- l124: ;
- rT49next_char(C);
- _state=1;
- goto l121;
- l125: ;
- _state=2;
- l121: ;
- }
- goto l118;
- l120: ;
- if (1 == iv1) goto l126;
- goto l127;
- l126: ;
- {int iv2=(C)->_cc;
- if (45 == iv2) goto l129;
- goto l130;
- l129: ;
- /*IF*/if (!((C)->_last_comments)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_line,((C)->_column)-(1));
- _sp=(T0 *)n;}
- }
- /*FI*/rT49next_char(C);
- /*(IRF3*/(((T7*)oRBC49lcs)->_count)=(0);
- /*)*/while (!(((C)->_cc)==('\12'))) {
- rT7extend((T7*)oRBC49lcs,(C)->_cc);
- rT49next_char(C);
- }
- /*IF*/if (!((C)->_last_comments)) {
- {T57 *n=((T57*)new(57));
- rT57make(n,_sp,ma(42,0,1,rT49clone(C,oRBC49lcs)));
- C->_last_comments=(T0 *)n;}
- }
- else {
- rT57add_last((T57*)(C)->_last_comments,rT49clone(C,oRBC49lcs));
- }
- /*FI*/_state=0;
- goto l128;
- l130: ;
- rT49prev_char(C);
- _state=2;
- l128: ;
- }
- goto l118;
- l127: ;
- l118: ;
- }
- }
- }
- int rT49a_strip(T49 *C){
- int R=0;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms288)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49skip1(C,'\50')) {
- C->_ok=rT49a_feature_list(C);
- {T167 *n=((T167*)new(167));
- rT167make(n,_sp,(C)->_last_feature_list);
- C->_last_expression=(T0 *)n;}/*IF*/if (!(rT49skip1(C,'\51'))) {
- rT49fcp(C,(T0 *)ms289);
- }
- /*FI*/R=1;
- }
- else {
- rT49fcp(C,(T0 *)ms290);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49prev_char(T49 *C){
- /*IF*/if (((C)->_column)>(1)) {
- C->_column=((C)->_column)-(1);
- C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column);
- }
- else {
- /*IF*/if (((C)->_line)>(1)) {
- C->_line=((C)->_line)-(1);
- C->_current_line=(/*UT*/(T58*)oRBC49text,
- rT58item((C)->_line));
- C->_column=(((T7*)(C)->_current_line)->_count)+(1);
- C->_cc='\12';
- }
- else {
- C->_column=0;
- C->_cc='\0';
- }
- /*FI*/}
- /*FI*/}
- int rT49a_type(T49 *C){
- int R=0;
- T0 * _argument_name=NULL;
- T0 * _sp=NULL;
- R=1;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms202)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_identifier(C)) {
- /*IF*/if (rT49a_current(C)) {
- {T88 *n=((T88*)new(88));
- rT88make(n,_sp,(C)->_last_expression);
- C->_last_type=(T0 *)n;}}
- else if (rT49a_argument(C)) {
- _argument_name=(C)->_last_expression;
- if ((int)_argument_name) switch (((T0 *)_argument_name)->id) {
- case 86:
- break;
- default:
- _argument_name = NULL;
- };{T96 *n=((T96*)new(96));
- rT96make(n,_sp,_argument_name);
- C->_last_type=(T0 *)n;}}
- else {
- {T97 *n=((T97*)new(97));
- rT97make(n,_sp,rT67to_feature_name((T67*)rT49tmp_name()));
- C->_last_type=(T0 *)n;}}
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms206);
- }
- /*FI*/}
- else if (rT49a_keyword(C,(T0 *)ms121)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_class_type(C)) {
- {T98 *n=((T98*)new(98));
- rT98make(n,_sp,(C)->_last_class_type);
- C->_last_type=(T0 *)n;}}
- else {
- rT49fcp(C,(T0 *)ms208);
- }
- /*FI*/}
- else if (rT49a_keyword(C,(T0 *)ms198)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_integer(C)) {
- {T99 *n=((T99*)new(99));
- rT99make(n,_sp,(C)->_last_integer_constant);
- C->_last_type=(T0 *)n;}}
- else if (rT49a_identifier(C)) {
- {T101 *n=((T101*)new(101));
- rT101make(n,_sp,rT67to_feature_name((T67*)rT49tmp_name()));
- C->_last_type=(T0 *)n;}}
- else {
- rT49fcp(C,(T0 *)ms209);
- }
- /*FI*/}
- else if (rT49a_type_formal_generic(C)) {
- C->_last_type=(C)->_last_type_formal_generic;
- }
- else if (rT49a_class_type(C)) {
- C->_last_type=(C)->_last_class_type;
- }
- else {
- R=0;
- }
- /*FI*/return R;
- }
- int rT49a_type_formal_generic(T49 *C){
- int R=0;
- int _rank=0;
- T0 * _cn=NULL;
- T0 * _fga=NULL;
- /*IF*/if (((int)(C)->_formal_generic_list)) {
- _rank=1;
- while (!((R)||((_rank)>(rT83count((T83*)(C)->_formal_generic_list))))) {
- _fga=rT83item((T83*)(C)->_formal_generic_list,_rank);
- /*IF*/if (rT49a_keyword(C,((T46*)((T82*)_fga)->_name)->_to_string)) {
- {T46 *n=((T46*)new(46));
- rT46make(n,((T46*)((T82*)_fga)->_name)->_to_string,rT49pos((C)->_start_line,(C)->_start_column));
- _cn=(T0 *)n;}
- {T102 *n=((T102*)new(102));
- rT102make(n,_cn,_rank);
- C->_last_type_formal_generic=(T0 *)n;}
- R=1;
- }
- /*FI*/_rank=(_rank)+(1);
- }
- }
- /*FI*/return R;
- }
- void rT49next_char(T49 *C){
- /*IF*/if (((C)->_column)<(((T7*)(C)->_current_line)->_count)) {
- C->_column=((C)->_column)+(1);
- C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column);
- }
- else if (((C)->_column)==(((T7*)(C)->_current_line)->_count)) {
- C->_column=((C)->_column)+(1);
- C->_cc='\12';
- }
- else if (((C)->_line)==(((T58*)oRBC49text)->_count)) {
- C->_cc='\1';
- }
- else {
- C->_column=1;
- C->_line=((C)->_line)+(1);
- C->_current_line=(/*UT*/(T58*)oRBC49text,
- rT58item((C)->_line));
- /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) {
- C->_cc='\12';
- }
- else {
- C->_cc=rT7first((T7*)(C)->_current_line);
- }
- /*FI*/}
- /*FI*/}
- int ofBC49tmp_name=0;
- T0*oRBC49tmp_name;
- T0 * rT49tmp_name(/*C*/void){
- T0 * R=NULL;
- if (ofBC49tmp_name==0){
- ofBC49tmp_name=1;
- {T67 *n=((T67*)new(67));
- rT67make(n,0,0);
- R=(T0 *)n;}
- oRBC49tmp_name=R;}
- return oRBC49tmp_name;}
- int ofBC49tmp_operator=0;
- T0*oRBC49tmp_operator;
- T0 * rT49tmp_operator(/*C*/void){
- T0 * R=NULL;
- if (ofBC49tmp_operator==0){
- ofBC49tmp_operator=1;
- {T67 *n=((T67*)new(67));
- rT67make(n,0,0);
- R=(T0 *)n;}
- oRBC49tmp_operator=R;}
- return oRBC49tmp_operator;}
- T0 * rT49current_position(T49 *C){
- T0 * R=NULL;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_line,(C)->_column);
- R=(T0 *)n;}
- return R;
- }
- void rT49warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT43warning((T43*)oRBC27eh,a2);
- }
- T0 * rT49current_class_name(T49 *C){
- T0 * R=NULL;
- R=((T48*)(C)->_last_base_class)->_base_class_name;
- return R;
- }
- T0 * rT49to_proc_call(T49 *C,T0 * a1,T0 * a2,T0 * a3){
- T0 * R=NULL;
- /*IF*/if (!(a2)) {
- rT49fcp(C,(T0 *)ms298);
- }
- else if (!(a3)) {
- {T176 *n=((T176*)new(176));
- rT176make(n,a1,a2);
- R=(T0 *)n;}}
- else if ((rT168count((T168*)a3))==(1)) {
- {T177 *n=((T177*)new(177));
- rT177make(n,a1,a2,a3);
- R=(T0 *)n;}}
- else {
- {T178 *n=((T178*)new(178));
- rT178make(n,a1,a2,a3);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- void rT49error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT43error((T43*)oRBC27eh,a2);
- }
- void rT49ecp(T49 *C,T0* a1){
- rT49error(rT49current_position(C),a1);
- }
- void rT49fcp(T49 *C,T0* a1){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(rT49current_position(C));
- rT49fatal_error(a1);
- }
- void rT49copy(T49 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0*oRBC49lcs;
- T0*oRBC49text;
- void rT49wcp(T49 *C,T0* a1){
- rT49warning(rT49current_position(C),a1);
- }
- T0 * rT49pos(/*C*/int a1,int a2){
- T0 * R=NULL;
- {T44 *n=((T44*)new(44));
- rT44make(n,a1,a2);
- R=(T0 *)n;}
- return R;
- }
- int rT49a_e0(T49 *C){
- int R=0;
- R=rT49a_e1(C);
- rT49a_r1(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e1(T49 *C){
- int R=0;
- R=rT49a_e2(C);
- rT49a_r2(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e2(T49 *C){
- int R=0;
- R=rT49a_e3(C);
- rT49a_r3(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e3(T49 *C){
- int R=0;
- R=rT49a_e4(C);
- rT49a_r4(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e4(T49 *C){
- int R=0;
- R=rT49a_e5(C);
- rT49a_r5(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e5(T49 *C){
- int R=0;
- R=rT49a_e6(C);
- rT49a_r6(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e6(T49 *C){
- int R=0;
- R=rT49a_e7(C);
- rT49a_r7(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e7(T49 *C){
- int R=0;
- R=rT49a_e8(C);
- rT49a_r8(C,(C)->_last_expression);
- return R;
- }
- int rT49a_e8(T49 *C){
- int R=0;
- T0 * _sp=NULL;
- T0 * _prefix_freeop=NULL;
- T0 * _op=NULL;
- T0 * _prefix_moins=NULL;
- T0 * _prefix_plus=NULL;
- T0 * _prefix_not=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms82)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e8(C)) {
- {T159 *n=((T159*)new(159));
- rT159make(n,_sp,(C)->_last_expression);
- _prefix_not=(T0 *)n;}
- C->_last_expression=_prefix_not;
- R=1;
- }
- else {
- rT49err_exp(_sp,(T0 *)ms82);
- }
- /*FI*/}
- else if (rT49skip1(C,'\53')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e8(C)) {
- {T163 *n=((T163*)new(163));
- rT163make(n,_sp,(C)->_last_expression);
- _prefix_plus=(T0 *)n;}
- C->_last_expression=_prefix_plus;
- R=1;
- }
- else {
- rT49err_exp(_sp,(T0 *)ms283);
- }
- /*FI*/}
- else if (rT49skip1(C,'\55')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e8(C)) {
- {T164 *n=((T164*)new(164));
- rT164make(n,_sp,(C)->_last_expression);
- _prefix_moins=(T0 *)n;}
- C->_last_expression=_prefix_moins;
- R=1;
- }
- else {
- rT49err_exp(_sp,(T0 *)ms284);
- }
- /*FI*/}
- else if (rT49a_free_operator(C)) {
- _op=rT67to_prefix_name((T67*)rT49tmp_operator());
- /*IF*/if (rT49a_e8(C)) {
- {T165 *n=((T165*)new(165));
- rT165make(n,(C)->_last_expression,_op);
- _prefix_freeop=(T0 *)n;}
- C->_last_expression=_prefix_freeop;
- R=1;
- }
- else {
- /*UT*/(T43*)oRBC27eh;
- rT43append((T0 *)ms285);
- rT49err_exp(((T64*)_op)->_start_position,((T64*)_op)->_to_string);
- }
- /*FI*/}
- else {
- R=rT49a_e9(C);
- }
- /*FI*/return R;
- }
- int rT49a_e9(T49 *C){
- int R=0;
- T0 * _e_old=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms286)) {
- /*IF*/if (!((C)->_in_ensure)) {
- rT49error(rT49pos((C)->_start_line,(C)->_start_column),(T0 *)ms287);
- }
- /*FI*//*IF*/if (rT49a_e10(C)) {
- {T166 *n=((T166*)new(166));
- /*(IRF3*/((n)->_expression)=((C)->_last_expression);
- /*)*/_e_old=(T0 *)n;}
- C->_last_expression=_e_old;
- R=1;
- }
- else {
- rT49fcp(C,(T0 *)ms302);
- }
- /*FI*/}
- else {
- R=rT49a_e10(C);
- }
- /*FI*/return R;
- }
- void rT49a_r1(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_implies=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms100)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e1(C)) {
- {T200 *n=((T200*)new(200));
- rT200make(n,a1,_sp,(C)->_last_expression);
- _infix_implies=(T0 *)n;}
- rT49a_r1(C,_infix_implies);
- }
- else {
- rT49error(_sp,(T0 *)ms324);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- void rT49a_r2(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_xor=NULL;
- T0 * _infix_or=NULL;
- T0 * _infix_or_else=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms104)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_keyword(C,(T0 *)ms105)) {
- /*IF*/if (rT49a_e2(C)) {
- {T197 *n=((T197*)new(197));
- rT197make(n,a1,_sp,(C)->_last_expression);
- _infix_or_else=(T0 *)n;}
- rT49a_r2(C,_infix_or_else);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms106);
- }
- /*FI*/}
- else {
- /*IF*/if (rT49a_e2(C)) {
- {T198 *n=((T198*)new(198));
- rT198make(n,a1,_sp,(C)->_last_expression);
- _infix_or=(T0 *)n;}
- rT49a_r2(C,_infix_or);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms104);
- }
- /*FI*/}
- /*FI*/}
- else if (rT49a_keyword(C,(T0 *)ms99)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e2(C)) {
- {T199 *n=((T199*)new(199));
- rT199make(n,a1,_sp,(C)->_last_expression);
- _infix_xor=(T0 *)n;}
- rT49a_r2(C,_infix_xor);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms99);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- void rT49a_r3(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_and=NULL;
- T0 * _infix_and_then=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms101)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_keyword(C,(T0 *)ms102)) {
- /*IF*/if (rT49a_e3(C)) {
- {T195 *n=((T195*)new(195));
- rT195make(n,a1,_sp,(C)->_last_expression);
- _infix_and_then=(T0 *)n;}
- rT49a_r3(C,_infix_and_then);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms103);
- }
- /*FI*/}
- else {
- /*IF*/if (rT49a_e3(C)) {
- {T196 *n=((T196*)new(196));
- rT196make(n,a1,_sp,(C)->_last_expression);
- _infix_and=(T0 *)n;}
- rT49a_r3(C,_infix_and);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms101);
- }
- /*FI*/}
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- void rT49a_r4(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_gt=NULL;
- T0 * _infix_ge=NULL;
- T0 * _infix_lt=NULL;
- T0 * _infix_le=NULL;
- T0 * _infix_not_equal=NULL;
- T0 * _infix_equal=NULL;
- /*IF*/if (rT49skip1(C,'\75')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T189 *n=((T189*)new(189));
- rT189make(n,a1,_sp,(C)->_last_expression);
- _infix_equal=(T0 *)n;}
- rT49a_r4(C,_infix_equal);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms313);
- }
- /*FI*/}
- else if (rT49skip2(C,'\57','\75')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T190 *n=((T190*)new(190));
- rT190make(n,a1,_sp,(C)->_last_expression);
- _infix_not_equal=(T0 *)n;}
- rT49a_r4(C,_infix_not_equal);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms315);
- }
- /*FI*/}
- else if (rT49skip2(C,'\74','\75')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T191 *n=((T191*)new(191));
- rT191make(n,a1,_sp,(C)->_last_expression);
- _infix_le=(T0 *)n;}
- rT49a_r4(C,_infix_le);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms317);
- }
- /*FI*/}
- else if (rT49skip2(C,'\76','\75')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T193 *n=((T193*)new(193));
- rT193make(n,a1,_sp,(C)->_last_expression);
- _infix_ge=(T0 *)n;}
- rT49a_r4(C,_infix_ge);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms319);
- }
- /*FI*/}
- else if (rT49skip1(C,'\74')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T192 *n=((T192*)new(192));
- rT192make(n,a1,_sp,(C)->_last_expression);
- _infix_lt=(T0 *)n;}
- rT49a_r4(C,_infix_lt);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms321);
- }
- /*FI*/}
- else if (rT49skip1unless2(C,'\76','\76')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e4(C)) {
- {T194 *n=((T194*)new(194));
- rT194make(n,a1,_sp,(C)->_last_expression);
- _infix_gt=(T0 *)n;}
- rT49a_r4(C,_infix_gt);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms323);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- void rT49a_r5(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_minus=NULL;
- T0 * _infix_plus=NULL;
- /*IF*/if (rT49skip1(C,'\53')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e5(C)) {
- {T187 *n=((T187*)new(187));
- rT187make(n,a1,_sp,(C)->_last_expression);
- _infix_plus=(T0 *)n;}
- rT49a_r5(C,_infix_plus);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms84);
- }
- /*FI*/}
- else if (rT49skip1(C,'\55')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e5(C)) {
- {T188 *n=((T188*)new(188));
- rT188make(n,a1,_sp,(C)->_last_expression);
- _infix_minus=(T0 *)n;}
- rT49a_r5(C,_infix_minus);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms85);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- void rT49a_r6(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_div=NULL;
- T0 * _infix_int_rem=NULL;
- T0 * _infix_int_div=NULL;
- T0 * _infix_times=NULL;
- /*IF*/if (rT49skip1(C,'\52')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e6(C)) {
- {T183 *n=((T183*)new(183));
- rT183make(n,a1,_sp,(C)->_last_expression);
- _infix_times=(T0 *)n;}
- rT49a_r6(C,_infix_times);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms307);
- }
- /*FI*/}
- else if (rT49skip2(C,'\57','\57')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e6(C)) {
- {T184 *n=((T184*)new(184));
- rT184make(n,a1,_sp,(C)->_last_expression);
- _infix_int_div=(T0 *)n;}
- rT49a_r6(C,_infix_int_div);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms309);
- }
- /*FI*/}
- else if (rT49skip2(C,'\134','\134')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e6(C)) {
- {T185 *n=((T185*)new(185));
- rT185make(n,a1,_sp,(C)->_last_expression);
- _infix_int_rem=(T0 *)n;}
- rT49a_r6(C,_infix_int_rem);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms311);
- }
- /*FI*/}
- else if (rT49skip1unless2(C,'\57','\75')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e6(C)) {
- {T186 *n=((T186*)new(186));
- rT186make(n,a1,_sp,(C)->_last_expression);
- _infix_div=(T0 *)n;}
- rT49a_r6(C,_infix_div);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms95);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- int rT49skip1unless2(T49 *C,char a1,char a2){
- int R=0;
- C->_start_line=(C)->_line;
- C->_start_column=(C)->_column;
- /*IF*/if (((C)->_cc)==(a1)) {
- rT49next_char(C);
- /*IF*/if (((C)->_cc)==(a2)) {
- rT49prev_char(C);
- }
- else {
- R=1;
- rT49skip_comments(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT49skip1(T49 *C,char a1){
- int R=0;
- /*IF*/if ((a1)==((C)->_cc)) {
- C->_start_line=(C)->_line;
- C->_start_column=(C)->_column;
- R=1;
- rT49next_char(C);
- rT49skip_comments(C);
- }
- /*FI*/return R;
- }
- void rT49a_r7(T49 *C,T0 * a1){
- T0 * _sp=NULL;
- T0 * _infix_power=NULL;
- /*IF*/if (rT49skip1(C,'\136')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49a_e7(C)) {
- {T182 *n=((T182*)new(182));
- rT182make(n,a1,_sp,(C)->_last_expression);
- _infix_power=(T0 *)n;}
- rT49a_r7(C,_infix_power);
- }
- else {
- rT49err_exp(_sp,(T0 *)ms305);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- int rT49skip2(T49 *C,char a1,char a2){
- int R=0;
- /*IF*/if ((a1)==((C)->_cc)) {
- C->_start_line=(C)->_line;
- C->_start_column=(C)->_column;
- rT49next_char(C);
- /*IF*/if ((a2)==((C)->_cc)) {
- R=1;
- rT49next_char(C);
- rT49skip_comments(C);
- }
- else {
- rT49prev_char(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_r8(T49 *C,T0 * a1){
- T0 * _infix_freeop=NULL;
- T0 * _infix_name=NULL;
- /*IF*/if (rT49a_free_operator(C)) {
- _infix_name=rT67to_infix_name_use((T67*)rT49tmp_operator());
- /*IF*/if (rT49a_e8(C)) {
- {T180 *n=((T180*)new(180));
- rT180make(n,a1,_infix_name,(C)->_last_expression);
- _infix_freeop=(T0 *)n;}
- rT49a_r8(C,_infix_freeop);
- }
- else {
- rT49err_exp(((T68*)_infix_name)->_start_position,((T68*)_infix_name)->_to_string);
- }
- /*FI*/}
- else {
- C->_last_expression=a1;
- }
- /*FI*/}
- int rT49a_debug(T49 *C){
- int R=0;
- T0 * _e_debug=NULL;
- T0* _list=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms344)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (rT49skip1(C,'\50')) {
- while (!(!(rT49a_manifest_string(C)))) {
- /*IF*/if (!(_list)) {
- _list=ma(149,0,1,(C)->_last_manifest_string);
- }
- else {
- rT149add_last((T149*)_list,(C)->_last_manifest_string);
- }
- /*FI*/C->_ok=rT49skip1(C,'\54');
- }
- /*IF*/if (!(_list)) {
- rT49wcp(C,(T0 *)ms345);
- }
- /*FI*//*IF*/if (!(rT49skip1(C,'\51'))) {
- rT49fcp(C,(T0 *)ms346);
- }
- /*FI*/}
- /*FI*/R=1;
- {T213 *n=((T213*)new(213));
- rT213make(n,_sp,_list,rT49a_compound2(C,(T0 *)ms350,(T0 *)ms119));
- _e_debug=(T0 *)n;}
- C->_last_instruction=_e_debug;
- }
- /*FI*/return R;
- }
- int rT49a_feature_declaration(T49 *C){
- int R=0;
- rT134initialize((T134*)oRBC49tmp_feature);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms252)) {
- /*IF*/if (rT49a_feature_name(C)) {
- R=1;
- XrT65set_is_frozen((C)->_last_feature_name,1);
- /*UT*/(T134*)oRBC49tmp_feature;
- rT134add_synonym((C)->_last_feature_name);
- }
- else {
- rT49fcp(C,(T0 *)ms238);
- }
- /*FI*/}
- else if (rT49a_feature_name(C)) {
- R=1;
- /*UT*/(T134*)oRBC49tmp_feature;
- rT134add_synonym((C)->_last_feature_name);
- }
- /*FI*/while (!(!(rT49skip1(C,'\54')))) {
- /*IF*/if (rT49a_keyword(C,(T0 *)ms253)) {
- /*IF*/if (rT49a_feature_name(C)) {
- XrT65set_is_frozen((C)->_last_feature_name,1);
- /*UT*/(T134*)oRBC49tmp_feature;
- rT134add_synonym((C)->_last_feature_name);
- }
- else {
- rT49fcp(C,(T0 *)ms254);
- }
- /*FI*/}
- else if (rT49a_feature_name(C)) {
- /*UT*/(T134*)oRBC49tmp_feature;
- rT134add_synonym((C)->_last_feature_name);
- }
- else {
- rT49ecp(C,(T0 *)ms255);
- }
- /*FI*/}
- /*IF*/if (R) {
- rT49a_formal_arg_list(C);
- C->_function_type=NULL;
- /*IF*/if (rT49skip1(C,'\72')) {
- /*IF*/if (!(rT49a_type(C))) {
- rT49fcp(C,(T0 *)ms261);
- }
- else {
- C->_function_type=(C)->_last_type;
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_type)=((C)->_last_type);
- /*)*/}
- /*FI*/}
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms262)) {
- /*IF*/if (rT49a_keyword(C,(T0 *)ms263)) {
- C->_last_feature_declaration=rT134to_cst_att_unique((T134*)oRBC49tmp_feature);
- }
- else if (rT49a_boolean_constant(C)) {
- C->_last_feature_declaration=rT134to_cst_att_boolean((T134*)oRBC49tmp_feature,(C)->_last_boolean_constant);
- }
- else if (rT49a_character_constant(C)) {
- C->_last_feature_declaration=rT134to_cst_att_character((T134*)oRBC49tmp_feature,(C)->_last_character_constant);
- }
- else if (rT49a_manifest_string(C)) {
- C->_last_feature_declaration=rT134to_cst_att_string((T134*)oRBC49tmp_feature,(C)->_last_manifest_string);
- }
- else if (rT49a_bit_constant(C)) {
- C->_last_feature_declaration=rT134to_cst_att_bit((T134*)oRBC49tmp_feature,(C)->_last_bit_constant);
- }
- else if (rT49a_real_constant(C)) {
- C->_last_feature_declaration=rT134to_cst_att_real((T134*)oRBC49tmp_feature,(C)->_last_real_constant);
- }
- else if (rT49a_integer_constant(C)) {
- C->_last_feature_declaration=rT134to_cst_att_integer((T134*)oRBC49tmp_feature,(C)->_last_integer_constant);
- }
- else {
- C->_last_feature_declaration=rT49a_routine(C);
- }
- /*FI*/}
- else {
- C->_last_feature_declaration=rT134to_writable_attribute((T134*)oRBC49tmp_feature);
- }
- /*FI*/C->_function_type=NULL;
- C->_arguments=NULL;
- }
- /*FI*/return R;
- }
- void rT49a_feature_clause(T49 *C){
- T0* _aof=NULL;
- T0 * _comment=NULL;
- T0 * _clients=NULL;
- T0 * _feature_clause=NULL;
- _clients=rT49a_clients(C);
- _comment=rT49get_comments(C);
- while (!(!(rT49a_feature_declaration(C)))) {
- C->_ok=rT49skip1(C,'\73');
- /*IF*/if (((int)(C)->_last_feature_declaration)) {
- /*IF*/if (!(_aof)) {
- _aof=ma(61,0,1,(C)->_last_feature_declaration);
- }
- else {
- rT61add_last((T61*)_aof,(C)->_last_feature_declaration);
- }
- /*FI*/XrT60set_header_comment((C)->_last_feature_declaration,rT49get_comments(C));
- }
- /*FI*/}
- /*IF*/if ((((int)_aof))||(((int)_comment))) {
- {T133 *n=((T133*)new(133));
- rT133make(n,_clients,_comment,_aof);
- _feature_clause=(T0 *)n;}
- rT48add_feature_clause((T48*)(C)->_last_base_class,_feature_clause);
- }
- /*FI*/}
- int rT49a_feature_list(T49 *C){
- int R=0;
- int _state=0;
- C->_last_feature_list=NULL;
- while (!((_state)>=(3))) {
- {int iv1=_state;
- if (0 == iv1) goto l132;
- goto l133;
- l132: ;
- /*IF*/if (rT49a_feature_name(C)) {
- C->_last_feature_list=ma(127,0,1,(C)->_last_feature_name);
- R=1;
- _state=1;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms232);
- C->_ok=rT49skip1(C,'\54');
- }
- else {
- _state=3;
- }
- /*FI*/goto l131;
- l133: ;
- if (1 == iv1) goto l134;
- goto l135;
- l134: ;
- /*IF*/if (((C)->_cc)==('\54')) {
- C->_ok=rT49skip1(C,'\54');
- _state=2;
- }
- else if (rT49a_feature_name(C)) {
- rT49warning(XrT65start_position((C)->_last_feature_name),(T0 *)ms215);
- rT127add_last((T127*)(C)->_last_feature_list,(C)->_last_feature_name);
- }
- else {
- _state=3;
- }
- /*FI*/goto l131;
- l135: ;
- if (2 == iv1) goto l136;
- goto l137;
- l136: ;
- /*IF*/if (rT49a_feature_name(C)) {
- rT127add_last((T127*)(C)->_last_feature_list,(C)->_last_feature_name);
- _state=1;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms212);
- C->_ok=rT49skip1(C,'\54');
- }
- else {
- rT49ecp(C,(T0 *)ms238);
- _state=3;
- }
- /*FI*/goto l131;
- l137: ;
- l131: ;
- }
- }
- return R;
- }
- int rT49a_feature_name(T49 *C){
- int R=0;
- /*IF*/if (rT49a_prefix(C)) {
- C->_last_feature_name=(C)->_last_prefix;
- R=1;
- }
- else if (rT49a_infix(C)) {
- C->_last_feature_name=(C)->_last_infix;
- R=1;
- }
- else if (rT49a_identifier(C)) {
- C->_last_feature_name=rT67to_feature_name((T67*)rT49tmp_name());
- R=1;
- }
- /*FI*/return R;
- }
- int rT49a_character_constant(T49 *C){
- int R=0;
- char _value='\0';
- int _printing_mode=0;
- int _state=0;
- T0 * _sp=NULL;
- /*IF*/if (((C)->_cc)==('\47')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_line,(C)->_column);
- _sp=(T0 *)n;}
- R=1;
- while (!((_state)>(2))) {
- rT49next_char(C);
- {int iv1=_state;
- if (0 == iv1) goto l139;
- goto l140;
- l139: ;
- {int iv2=(C)->_cc;
- if (37 == iv2) goto l142;
- goto l143;
- l142: ;
- _state=1;
- goto l141;
- l143: ;
- if (39 == iv2) goto l144;
- goto l145;
- l144: ;
- rT49fcp(C,(T0 *)ms160);
- _state=2;
- goto l141;
- l145: ;
- _value=(C)->_cc;
- _printing_mode=0;
- _state=2;
- l141: ;
- }
- goto l138;
- l140: ;
- if (1 == iv1) goto l146;
- goto l147;
- l146: ;
- _printing_mode=1;
- _state=2;
- {int iv2=(C)->_cc;
- if (65 == iv2) goto l149;
- goto l150;
- l149: ;
- _value='\100';
- goto l148;
- l150: ;
- if (66 == iv2) goto l151;
- goto l152;
- l151: ;
- _value='\10';
- goto l148;
- l152: ;
- if (67 == iv2) goto l153;
- goto l154;
- l153: ;
- _value='\136';
- goto l148;
- l154: ;
- if (68 == iv2) goto l155;
- goto l156;
- l155: ;
- _value='\44';
- goto l148;
- l156: ;
- if (70 == iv2) goto l157;
- goto l158;
- l157: ;
- _value='\14';
- goto l148;
- l158: ;
- if (72 == iv2) goto l159;
- goto l160;
- l159: ;
- _value='\134';
- goto l148;
- l160: ;
- if (76 == iv2) goto l161;
- goto l162;
- l161: ;
- _value='\176';
- goto l148;
- l162: ;
- if (78 == iv2) goto l163;
- goto l164;
- l163: ;
- _value='\12';
- goto l148;
- l164: ;
- if (81 == iv2) goto l165;
- goto l166;
- l165: ;
- _value='\140';
- goto l148;
- l166: ;
- if (82 == iv2) goto l167;
- goto l168;
- l167: ;
- _value='\15';
- goto l148;
- l168: ;
- if (83 == iv2) goto l169;
- goto l170;
- l169: ;
- _value='\43';
- goto l148;
- l170: ;
- if (84 == iv2) goto l171;
- goto l172;
- l171: ;
- _value='\11';
- goto l148;
- l172: ;
- if (85 == iv2) goto l173;
- goto l174;
- l173: ;
- _value='\0';
- goto l148;
- l174: ;
- if (86 == iv2) goto l175;
- goto l176;
- l175: ;
- _value='\174';
- goto l148;
- l176: ;
- if (37 == iv2) goto l177;
- goto l178;
- l177: ;
- _value='\45';
- goto l148;
- l178: ;
- if (39 == iv2) goto l179;
- goto l180;
- l179: ;
- _value='\47';
- goto l148;
- l180: ;
- if (34 == iv2) goto l181;
- goto l182;
- l181: ;
- _value='\42';
- goto l148;
- l182: ;
- if (40 == iv2) goto l183;
- goto l184;
- l183: ;
- _value='\133';
- goto l148;
- l184: ;
- if (41 == iv2) goto l185;
- goto l186;
- l185: ;
- _value='\135';
- goto l148;
- l186: ;
- if (60 == iv2) goto l187;
- goto l188;
- l187: ;
- _value='\173';
- goto l148;
- l188: ;
- if (62 == iv2) goto l189;
- goto l190;
- l189: ;
- _value='\175';
- goto l148;
- l190: ;
- if (47 == iv2) goto l191;
- goto l192;
- l191: ;
- rT49a_ascii_code(C);
- _value=(C)->_last_ascii_code;
- _printing_mode=2;
- goto l148;
- l192: ;
- rT49fcp(C,(T0 *)ms164);
- l148: ;
- }
- goto l138;
- l147: ;
- _state=3;
- {int iv2=(C)->_cc;
- if (39 == iv2) goto l194;
- goto l195;
- l194: ;
- goto l193;
- l195: ;
- rT49fcp(C,(T0 *)ms160);
- l193: ;
- }
- rT49next_char(C);
- rT49skip_comments(C);
- l138: ;
- }
- }
- {T73 *n=((T73*)new(73));
- rT73make(n,_sp,_value,_printing_mode);
- C->_last_character_constant=(T0 *)n;}
- }
- /*FI*/return R;
- }
- int rT49a_check(T49 *C){
- int R=0;
- T0* _al=NULL;
- T0 * _hc=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms112)) {
- R=1;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _hc=rT49get_comments(C);
- _al=rT49a_assertion(C);
- /*IF*/if ((((int)_hc))||(((int)_al))) {
- {T211 *n=((T211*)new(211));
- rT211make(n,_sp,_hc,_al);
- C->_last_instruction=(T0 *)n;}}
- else {
- rT49wcp(C,(T0 *)ms342);
- }
- /*FI*//*IF*/if (!(rT49a_keyword(C,(T0 *)ms119))) {
- rT49fcp(C,(T0 *)ms343);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_class_declaration(T49 *C){
- T0* _al=NULL;
- T0 * _hc=NULL;
- T0 * _sp=NULL;
- rT49a_indexing(C);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms175)) {
- rT48set_is_deferred((T48*)(C)->_last_base_class);
- }
- /*FI*//*IF*/if (rT49a_keyword(C,(T0 *)ms121)) {
- rT48set_is_expanded((T48*)(C)->_last_base_class);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms177)) {
- rT48set_is_deferred((T48*)(C)->_last_base_class);
- }
- /*FI*/}
- /*FI*//*(IRF3*/(((T48*)(C)->_last_base_class)->_heading_comment1)=(rT49get_comments(C));
- /*)*//*IF*/if (!(rT49a_keyword(C,(T0 *)ms178))) {
- rT49fcp(C,(T0 *)ms179);
- }
- /*FI*//*IF*/if (rT49a_base_class_name(C)) {
- rT46set_with((T46*)rT49current_class_name(C),(C)->_last_class_name);
- /*IF*/if (rT42fast_has((T42*)oRBC49forbidden_class,((T46*)(C)->_last_class_name)->_to_string)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(((T46*)(C)->_last_class_name)->_start_position);
- rT49fatal_error((T0 *)ms200);
- }
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms201);
- }
- /*FI*/rT49a_formal_generic_list(C);
- /*IF*/if (rT49a_keyword(C,(T0 *)ms220)) {
- /*IF*/if (rT49a_manifest_string(C)) {
- /*(IRF3*/(((T48*)(C)->_last_base_class)->_obsolete_type_string)=((C)->_last_manifest_string);
- /*)*/}
- else {
- rT49fcp(C,(T0 *)ms221);
- }
- /*FI*/}
- /*FI*//*(IRF3*/(((T48*)(C)->_last_base_class)->_heading_comment2)=(rT49get_comments(C));
- /*)*//*IF*/if (rT49a_keyword(C,(T0 *)ms222)) {
- rT49a_parent_list(C,rT49pos((C)->_start_line,(C)->_start_column),rT49get_comments(C));
- }
- /*FI*/while (!(!(rT49a_keyword(C,(T0 *)ms114)))) {
- rT49a_creation_clause(C);
- }
- while (!(!(rT49a_keyword(C,(T0 *)ms251)))) {
- rT49a_feature_clause(C);
- }
- /*IF*/if (rT49a_keyword(C,(T0 *)ms405)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _hc=rT49get_comments(C);
- _al=rT49a_assertion(C);
- rT48set_invariant((T48*)(C)->_last_base_class,_sp,_hc,_al);
- }
- /*FI*//*(IRF3*/(((T48*)(C)->_last_base_class)->_end_comment)=(rT49get_comments(C));
- /*)*//*IF*/if (rT49a_keyword(C,(T0 *)ms119)) {
- /*IF*/if (((C)->_cc)==('\73')) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- /*FI*//*IF*/if (((C)->_cc)!=('\1')) {
- rT49fcp(C,(T0 *)ms406);
- }
- /*FI*//*IF*/if ((((int)(C)->_last_comments))&&((rT57count((T57*)(C)->_last_comments))>(1))) {
- rT49fcp(C,(T0 *)ms407);
- }
- /*FI*/}
- else {
- rT49fcp(C,(T0 *)ms408);
- }
- /*FI*/}
- int rT49a_class_type(T49 *C){
- int R=0;
- T0* _generic_list=NULL;
- T0 * _base_class_name=NULL;
- int _state=0;
- /*IF*/if (rT49a_base_type(C)) {
- C->_last_class_type=(C)->_last_base_type;
- R=1;
- }
- else if (rT49a_base_class_name(C)) {
- R=1;
- _base_class_name=(C)->_last_class_name;
- while (!((_state)>(2))) {
- {int iv1=_state;
- if (0 == iv1) goto l197;
- goto l198;
- l197: ;
- /*IF*/if (rT49skip1(C,'\133')) {
- _state=1;
- }
- else {
- {T114 *n=((T114*)new(114));
- /*(IRF3*/((n)->_base_class_name)=(_base_class_name);
- /*)*/C->_last_class_type=(T0 *)n;}_state=3;
- }
- /*FI*/goto l196;
- l198: ;
- if (1 == iv1) goto l199;
- goto l200;
- l199: ;
- /*IF*/if (rT49a_type(C)) {
- /*IF*/if (!(_generic_list)) {
- _generic_list=ma(104,0,1,(C)->_last_type);
- }
- else {
- rT104add_last((T104*)_generic_list,(C)->_last_type);
- }
- /*FI*/_state=2;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms212);
- C->_ok=rT49skip1(C,'\54');
- }
- else if (((C)->_cc)==('\135')) {
- _state=2;
- }
- else {
- rT49fcp(C,(T0 *)ms213);
- _state=2;
- }
- /*FI*/goto l196;
- l200: ;
- /*IF*/if (rT49skip1(C,'\54')) {
- _state=1;
- }
- else if (((C)->_cc)==('\135')) {
- /*IF*/if (!(_generic_list)) {
- rT49wcp(C,(T0 *)ms214);
- {T114 *n=((T114*)new(114));
- /*(IRF3*/((n)->_base_class_name)=(_base_class_name);
- /*)*/C->_last_class_type=(T0 *)n;}}
- else {
- {T115 *n=((T115*)new(115));
- rT115make(n,_base_class_name,_generic_list);
- C->_last_class_type=(T0 *)n;}}
- /*FI*/C->_ok=rT49skip1(C,'\135');
- _state=3;
- }
- else if (rT49a_type(C)) {
- /*IF*/if (!(_generic_list)) {
- _generic_list=ma(104,0,1,(C)->_last_type);
- }
- else {
- rT104add_last((T104*)_generic_list,(C)->_last_type);
- }
- /*FI*/rT49warning(XrT56start_position((C)->_last_type),(T0 *)ms215);
- }
- else {
- rT49fcp(C,(T0 *)ms216);
- _state=3;
- }
- /*FI*/ l196: ;
- }
- }
- }
- /*FI*/return R;
- }
- int rT49a_identifier(T49 *C){
- int R=0;
- int _do_warning=0;
- int _state=0;
- /*IF*/if (rT3is_letter((C)->_cc)) {
- rT67make((T67*)rT49tmp_name(),(C)->_line,(C)->_column);
- rT67extend((T67*)rT49tmp_name(),(C)->_cc);
- while (!((_state)>(0))) {
- rT49next_char(C);
- {int iv1=(C)->_cc;
- if ((48 <= iv1) && (iv1<= 57)) goto l202;
- if (95 == iv1) goto l202;
- if ((97 <= iv1) && (iv1<= 122)) goto l202;
- goto l203;
- l202: ;
- rT67extend((T67*)rT49tmp_name(),(C)->_cc);
- goto l201;
- l203: ;
- if ((65 <= iv1) && (iv1<= 90)) goto l204;
- goto l205;
- l204: ;
- _do_warning=1;
- rT67extend((T67*)rT49tmp_name(),rT3to_lower((C)->_cc));
- goto l201;
- l205: ;
- _state=1;
- l201: ;
- }
- }
- /*IF*/if (rT67isa_keyword((T67*)rT49tmp_name())) {
- _state=rT67count((T67*)rT49tmp_name());
- while (!((_state)==(0))) {
- _state=(_state)-(1);
- rT49prev_char(C);
- }
- }
- else {
- R=1;
- rT49skip_comments(C);
- /*IF*/if (_do_warning) {
- rT49warning(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms157);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int rT49a_base_class_name(T49 *C){
- int R=0;
- int _do_warning=0;
- int _state=0;
- /*IF*/if (rT3is_letter((C)->_cc)) {
- /*IF*/if (((C)->_cc)>=('a')) {
- _do_warning=1;
- C->_cc=rT3to_upper((C)->_cc);
- }
- /*FI*/rT67make((T67*)rT49tmp_name(),(C)->_line,(C)->_column);
- rT67extend((T67*)rT49tmp_name(),(C)->_cc);
- while (!((_state)>(0))) {
- rT49next_char(C);
- {int iv1=(C)->_cc;
- if ((48 <= iv1) && (iv1<= 57)) goto l207;
- if ((65 <= iv1) && (iv1<= 90)) goto l207;
- if (95 == iv1) goto l207;
- goto l208;
- l207: ;
- rT67extend((T67*)rT49tmp_name(),(C)->_cc);
- goto l206;
- l208: ;
- if ((97 <= iv1) && (iv1<= 122)) goto l209;
- goto l210;
- l209: ;
- _do_warning=1;
- rT67extend((T67*)rT49tmp_name(),rT3to_upper((C)->_cc));
- goto l206;
- l210: ;
- _state=1;
- l206: ;
- }
- }
- /*IF*/if (rT67isa_keyword((T67*)rT49tmp_name())) {
- _state=rT67count((T67*)rT49tmp_name());
- while (!((_state)==(0))) {
- _state=(_state)-(1);
- rT49prev_char(C);
- }
- }
- else {
- R=1;
- rT49skip_comments(C);
- /*IF*/if (_do_warning) {
- rT49warning(rT67start_position((T67*)rT49tmp_name()),(T0 *)ms180);
- }
- /*FI*/C->_last_class_name=rT67to_class_name((T67*)rT49tmp_name());
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT49a_base_type(T49 *C){
- int R=0;
- T0 * _sp=NULL;
- R=1;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms181)) {
- {T85 *n=((T85*)new(85));
- rT85make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms185)) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (((rT49skip1(C,'\133'))&&(rT49a_type(C)))&&(rT49skip1(C,'\135'))) {
- {T103 *n=((T103*)new(103));
- rT103make(n,_sp,(C)->_last_type);
- C->_last_base_type=(T0 *)n;}}
- else {
- rT49fcp(C,(T0 *)ms211);
- }
- /*FI*/}
- else if (rT49a_keyword(C,(T0 *)ms187)) {
- {T105 *n=((T105*)new(105));
- rT105make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms189)) {
- {T107 *n=((T107*)new(107));
- rT107make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms196)) {
- {T108 *n=((T108*)new(108));
- rT108make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms192)) {
- {T109 *n=((T109*)new(109));
- rT109make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms183)) {
- {T110 *n=((T110*)new(110));
- rT110make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms184)) {
- {T111 *n=((T111*)new(111));
- rT111make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms194)) {
- {T112 *n=((T112*)new(112));
- rT112make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else if (rT49a_keyword(C,(T0 *)ms186)) {
- {T113 *n=((T113*)new(113));
- rT113make(n,rT49pos((C)->_start_line,(C)->_start_column));
- C->_last_base_type=(T0 *)n;}}
- else {
- R=0;
- }
- /*FI*/return R;
- }
- void rT49a_ascii_code(T49 *C){
- int _counter=0;
- rT49next_char(C);
- _counter=0;
- C->_last_ascii_code=0;
- while (!(((_counter)>(3))||(((C)->_cc)==('\57')))) {
- {int iv1=(C)->_cc;
- if ((48 <= iv1) && (iv1<= 57)) goto l212;
- goto l213;
- l212: ;
- C->_last_ascii_code=(((C)->_last_ascii_code)*(10))+(rT3value((C)->_cc));
- goto l211;
- l213: ;
- rT49fcp(C,(T0 *)ms161);
- l211: ;
- }
- _counter=(_counter)+(1);
- rT49next_char(C);
- }
- /*IF*/if ((_counter)==(0)) {
- rT49fcp(C,(T0 *)ms162);
- }
- else if ((_counter)>(3)) {
- rT49fcp(C,(T0 *)ms163);
- }
- else {
- }
- /*FI*/}
- int rT49a_actual(T49 *C){
- int R=0;
- /*IF*/if (rT49skip1(C,'\44')) {
- /*IF*/if (rT49a_identifier(C)) {
- {T171 *n=((T171*)new(171));
- /*(IRF3*/((n)->_feature_name)=(rT67to_feature_name((T67*)rT49tmp_name()));
- /*)*/C->_last_expression=(T0 *)n;}R=1;
- }
- else {
- rT49fcp(C,(T0 *)ms238);
- }
- /*FI*/}
- else if (rT49a_expression(C)) {
- R=1;
- }
- /*FI*/return R;
- }
- T0 * rT49a_actuals(T49 *C){
- T0 * R=NULL;
- T0* _args=NULL;
- /*IF*/if (rT49skip1(C,'\50')) {
- while (!(!(rT49a_actual(C)))) {
- /*IF*/if (!(_args)) {
- _args=ma(79,0,1,(C)->_last_expression);
- }
- else {
- XrT79add_last(_args,(C)->_last_expression);
- }
- /*FI*/C->_ok=rT49skip1(C,'\54');
- }
- /*IF*/if (!(_args)) {
- rT49wcp(C,(T0 *)ms295);
- }
- else {
- {T168 *n=((T168*)new(168));
- /*(IRF3*/((n)->_list)=(_args);
- /*)*/R=(T0 *)n;}
- }
- /*FI*//*IF*/if (!(rT49skip1(C,'\51'))) {
- rT49fcp(C,(T0 *)ms296);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT49a_clients(T49 *C){
- T0 * R=NULL;
- int _state=0;
- T0* _list=NULL;
- T0 * _sp=NULL;
- /*IF*/if (rT49skip1(C,'\173')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- while (!((_state)>(3))) {
- {int iv1=_state;
- if (0 == iv1) goto l215;
- goto l216;
- l215: ;
- /*IF*/if (rT49a_base_class_name(C)) {
- _list=ma(123,0,1,(C)->_last_class_name);
- _state=2;
- }
- else if (rT49skip1(C,'\175')) {
- _state=4;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms232);
- C->_ok=rT49skip1(C,'\54');
- }
- else {
- _state=3;
- }
- /*FI*/goto l214;
- l216: ;
- if (1 == iv1) goto l217;
- goto l218;
- l217: ;
- /*IF*/if (rT49a_base_class_name(C)) {
- rT123add_last((T123*)_list,(C)->_last_class_name);
- _state=2;
- }
- else if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms232);
- C->_ok=rT49skip1(C,'\54');
- }
- else if (((C)->_cc)==('\175')) {
- rT49wcp(C,(T0 *)ms233);
- C->_ok=rT49skip1(C,'\175');
- _state=4;
- }
- else {
- _state=3;
- }
- /*FI*/goto l214;
- l218: ;
- if (2 == iv1) goto l219;
- goto l220;
- l219: ;
- /*IF*/if (rT49skip1(C,'\54')) {
- _state=1;
- }
- else if (rT49skip1(C,'\175')) {
- _state=4;
- }
- else if (rT49a_base_class_name(C)) {
- rT49warning(((T46*)(C)->_last_class_name)->_start_position,(T0 *)ms215);
- rT123add_last((T123*)_list,(C)->_last_class_name);
- }
- else {
- _state=3;
- }
- /*FI*/goto l214;
- l220: ;
- rT49fcp(C,(T0 *)ms234);
- _state=4;
- l214: ;
- }
- }
- {T121 *n=((T121*)new(121));
- rT121make(n,_sp,_list);
- R=(T0 *)n;}
- }
- else {
- {T121 *n=((T121*)new(121));
- /*(IRF3*//*)*/R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT49go_back(T49 *C,T0 * a1){
- rT49go_back_at(C,((T44*)a1)->_line,((T44*)a1)->_column);
- }
- int rT49a_real_constant(T49 *C){
- int R=0;
- int _old_column=0;
- int _old_line=0;
- _old_line=(C)->_line;
- _old_column=(C)->_column;
- /*IF*/if (rT49skip1(C,'\53')) {
- /*IF*/if (rT49a_real(C)) {
- R=1;
- }
- else {
- rT49go_back_at(C,_old_line,_old_column);
- }
- /*FI*/}
- else if (rT49skip1(C,'\55')) {
- /*IF*/if (rT49a_real(C)) {
- C->_last_real_constant=rT77_px45((T77*)(C)->_last_real_constant);
- R=1;
- }
- else {
- rT49go_back_at(C,_old_line,_old_column);
- }
- /*FI*/}
- else if (rT49a_real(C)) {
- R=1;
- }
- /*FI*/return R;
- }
- int rT49a_real(T49 *C){
- int R=0;
- float _frac_i=0;
- float _frac_part=0;
- int _integral_part=0;
- int _back_count=0;
- int _exponent_sign=0;
- int _exponent=0;
- int _state=0;
- T0* _ts=NULL;
- T0 * _sp=NULL;
- /*IF*/if ((rT3is_digit((C)->_cc))||(((C)->_cc)==('\56'))) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_line,(C)->_column);
- _sp=(T0 *)n;}
- _exponent_sign=1;
- _frac_i=((float)1.);
- /*IF*/if (((C)->_cc)==('\56')) {
- _state=5;
- }
- else {
- _integral_part=rT3value((C)->_cc);
- }
- /*FI*/while (!((_state)>(11))) {
- rT49next_char(C);
- _back_count=(_back_count)+(1);
- {int iv1=_state;
- if (0 == iv1) goto l222;
- goto l223;
- l222: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l225;
- goto l226;
- l225: ;
- _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
- goto l224;
- l226: ;
- if (46 == iv2) goto l227;
- goto l228;
- l227: ;
- _state=4;
- goto l224;
- l228: ;
- _state=13;
- l224: ;
- }
- goto l221;
- l223: ;
- if (1 == iv1) goto l229;
- goto l230;
- l229: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l232;
- goto l233;
- l232: ;
- _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
- _state=2;
- goto l231;
- l233: ;
- rT49fcp(C,(T0 *)ms169);
- l231: ;
- }
- goto l221;
- l230: ;
- if (2 == iv1) goto l234;
- goto l235;
- l234: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l237;
- goto l238;
- l237: ;
- _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
- _state=3;
- goto l236;
- l238: ;
- rT49fcp(C,(T0 *)ms169);
- l236: ;
- }
- goto l221;
- l235: ;
- if (3 == iv1) goto l239;
- goto l240;
- l239: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l242;
- goto l243;
- l242: ;
- _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
- _state=0;
- goto l241;
- l243: ;
- rT49fcp(C,(T0 *)ms169);
- l241: ;
- }
- goto l221;
- l240: ;
- if (4 == iv1) goto l244;
- goto l245;
- l244: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l247;
- goto l248;
- l247: ;
- _frac_i=((float)10.);
- _frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i);
- _state=6;
- goto l246;
- l248: ;
- if (69 == iv2) goto l249;
- if (101 == iv2) goto l249;
- goto l250;
- l249: ;
- _state=10;
- goto l246;
- l250: ;
- _state=12;
- l246: ;
- }
- goto l221;
- l245: ;
- if (5 == iv1) goto l251;
- goto l252;
- l251: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l254;
- goto l255;
- l254: ;
- _frac_i=((float)10.);
- _frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i);
- _state=6;
- goto l253;
- l255: ;
- _state=13;
- l253: ;
- }
- goto l221;
- l252: ;
- if (6 == iv1) goto l256;
- goto l257;
- l256: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l259;
- goto l260;
- l259: ;
- _frac_i=(_frac_i)*(((float)10.));
- _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
- goto l258;
- l260: ;
- if (69 == iv2) goto l261;
- if (101 == iv2) goto l261;
- goto l262;
- l261: ;
- _state=10;
- goto l258;
- l262: ;
- if (95 == iv2) goto l263;
- goto l264;
- l263: ;
- _state=7;
- goto l258;
- l264: ;
- _state=12;
- l258: ;
- }
- goto l221;
- l257: ;
- if (7 == iv1) goto l265;
- goto l266;
- l265: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l268;
- goto l269;
- l268: ;
- _frac_i=(_frac_i)*(((float)10.));
- _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
- _state=8;
- goto l267;
- l269: ;
- rT49fcp(C,(T0 *)ms170);
- l267: ;
- }
- goto l221;
- l266: ;
- if (8 == iv1) goto l270;
- goto l271;
- l270: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l273;
- goto l274;
- l273: ;
- _frac_i=(_frac_i)*(((float)10.));
- _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
- _state=9;
- goto l272;
- l274: ;
- rT49fcp(C,(T0 *)ms170);
- l272: ;
- }
- goto l221;
- l271: ;
- if (9 == iv1) goto l275;
- goto l276;
- l275: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l278;
- goto l279;
- l278: ;
- _frac_i=(_frac_i)*(((float)10.));
- _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
- _state=6;
- goto l277;
- l279: ;
- rT49fcp(C,(T0 *)ms170);
- l277: ;
- }
- goto l221;
- l276: ;
- if (10 == iv1) goto l280;
- goto l281;
- l280: ;
- {int iv2=(C)->_cc;
- if (43 == iv2) goto l283;
- goto l284;
- l283: ;
- _state=11;
- goto l282;
- l284: ;
- if (45 == iv2) goto l285;
- goto l286;
- l285: ;
- _exponent_sign=-(1);
- _state=11;
- goto l282;
- l286: ;
- if ((48 <= iv2) && (iv2<= 57)) goto l287;
- goto l288;
- l287: ;
- _exponent=rT3value((C)->_cc);
- _state=11;
- goto l282;
- l288: ;
- rT49fcp(C,(T0 *)ms171);
- _state=13;
- l282: ;
- }
- goto l221;
- l281: ;
- {int iv2=(C)->_cc;
- if ((48 <= iv2) && (iv2<= 57)) goto l290;
- goto l291;
- l290: ;
- _exponent=((_exponent)*(10))+(rT3value((C)->_cc));
- goto l289;
- l291: ;
- _state=12;
- l289: ;
- }
- l221: ;
- }
- }
- /*IF*/if ((_state)==(12)) {
- _ts=rT7substring((T7*)(C)->_current_line,((T44*)_sp)->_column,((C)->_column)-(1));
- {T77 *n=((T77*)new(77));
- rT77make(n,_sp,_ts,_integral_part,_frac_part,(_exponent)*(_exponent_sign));
- C->_last_real_constant=(T0 *)n;}
- R=1;
- rT49skip_comments(C);
- }
- else {
- while (!((_back_count)==(0))) {
- _back_count=(_back_count)-(1);
- rT49prev_char(C);
- }
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49go_back_at(T49 *C,int a1,int a2){
- C->_line=a1;
- C->_column=a2;
- C->_current_line=(/*UT*/(T58*)oRBC49text,
- rT58item((C)->_line));
- /*IF*/if (((C)->_column)==((((T7*)(C)->_current_line)->_count)+(1))) {
- C->_cc='\12';
- }
- else if (((C)->_column)==(0)) {
- C->_cc='\0';
- }
- else {
- C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column);
- }
- /*FI*/}
- int rT49a_binary(T49 *C,T0 * a1){
- int R=0;
- R=1;
- /*IF*/if (rT49skip2(C,'\74','\75')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms90,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip2(C,'\76','\75')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms91,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip2(C,'\57','\57')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms92,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip2(C,'\134','\134')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms93,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\53')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms84,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\55')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms85,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\52')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms94,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\57')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms95,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\76')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms96,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\74')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms97,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49skip1(C,'\136')) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms98,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49a_keyword(C,(T0 *)ms99)) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms99,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49a_keyword(C,(T0 *)ms100)) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms100,a1);
- C->_last_binary=(T0 *)n;}
- }
- else if (rT49a_keyword(C,(T0 *)ms101)) {
- /*IF*/if (rT49a_keyword(C,(T0 *)ms102)) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms103,a1);
- C->_last_binary=(T0 *)n;}
- }
- else {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms101,a1);
- C->_last_binary=(T0 *)n;}
- }
- /*FI*/}
- else if (rT49a_keyword(C,(T0 *)ms104)) {
- /*IF*/if (rT49a_keyword(C,(T0 *)ms105)) {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms106,a1);
- C->_last_binary=(T0 *)n;}
- }
- else {
- {T68 *n=((T68*)new(68));
- rT68make(n,(T0 *)ms104,a1);
- C->_last_binary=(T0 *)n;}
- }
- /*FI*/}
- else {
- C->_last_binary=NULL;
- R=0;
- }
- /*FI*/return R;
- }
- int rT49a_creation(T49 *C){
- int R=0;
- int _state=0;
- T0 * _call=NULL;
- T0 * _proc_name=NULL;
- T0 * _writable=NULL;
- T0 * _type=NULL;
- T0 * _sp=NULL;
- while (!((_state)>(6))) {
- {int iv1=_state;
- if (0 == iv1) goto l293;
- goto l294;
- l293: ;
- /*IF*/if (rT49skip1(C,'\41')) {
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- _state=1;
- }
- else {
- _state=7;
- }
- /*FI*/goto l292;
- l294: ;
- if (1 == iv1) goto l295;
- goto l296;
- l295: ;
- /*IF*/if (rT49a_type(C)) {
- _type=(C)->_last_type;
- /*IF*/if (XrT56is_anchored(_type)) {
- rT49warning(XrT56start_position(_type),(T0 *)ms381);
- }
- /*FI*/_state=2;
- }
- else if (rT49skip1(C,'\41')) {
- _state=3;
- }
- else {
- rT49fcp(C,(T0 *)ms382);
- _state=8;
- }
- /*FI*/goto l292;
- l296: ;
- if (2 == iv1) goto l297;
- goto l298;
- l297: ;
- /*IF*/if (rT49skip1(C,'\41')) {
- _state=3;
- }
- else {
- _state=8;
- rT49fcp(C,(T0 *)ms383);
- }
- /*FI*/goto l292;
- l298: ;
- if (3 == iv1) goto l299;
- goto l300;
- l299: ;
- /*IF*/if (rT49a_identifier(C)) {
- /*IF*/if (rT49a_current(C)) {
- _state=8;
- rT49error(XrT66start_position((C)->_last_expression),(T0 *)ms384);
- }
- else if (rT49a_argument(C)) {
- _state=8;
- rT49error(XrT66start_position((C)->_last_expression),(T0 *)ms385);
- }
- else if ((rT49a_result(C))||(rT49a_local_variable(C))) {
- _writable=(C)->_last_expression;
- _state=4;
- }
- else {
- _writable=rT67to_feature_name((T67*)rT49tmp_name());
- _state=4;
- }
- /*FI*/}
- else {
- _state=8;
- rT49fcp(C,(T0 *)ms386);
- }
- /*FI*/goto l292;
- l300: ;
- if (4 == iv1) goto l301;
- goto l302;
- l301: ;
- /*IF*/if (rT49skip1unless2(C,'\56','\56')) {
- _state=5;
- }
- else {
- _state=7;
- }
- /*FI*/goto l292;
- l302: ;
- if (5 == iv1) goto l303;
- goto l304;
- l303: ;
- /*IF*/if (rT49a_identifier(C)) {
- _proc_name=rT67to_feature_name((T67*)rT49tmp_name());
- _state=6;
- }
- else {
- _state=8;
- rT49fcp(C,(T0 *)ms387);
- }
- /*FI*/goto l292;
- l304: ;
- /*IF*/if (((C)->_cc)==('\50')) {
- _call=rT49to_proc_call(C,_writable,_proc_name,rT49a_actuals(C));
- }
- else {
- {T176 *n=((T176*)new(176));
- rT176make(n,_writable,_proc_name);
- _call=(T0 *)n;}}
- /*FI*/_state=7;
- l292: ;
- }
- }
- /*IF*/if (((_state)==(7))&&(((int)_sp))) {
- R=1;
- /*IF*/if ((!(_type))&&(!(_call))) {
- {T238 *n=((T238*)new(238));
- rT238make(n,_sp,_writable);
- C->_last_instruction=(T0 *)n;}}
- else if ((((int)_type))&&(!(_call))) {
- {T241 *n=((T241*)new(241));
- rT241make(n,_sp,_type,_writable);
- C->_last_instruction=(T0 *)n;}}
- else if ((!(_type))&&(((int)_call))) {
- {T243 *n=((T243*)new(243));
- rT243make(n,_sp,_writable,_call);
- C->_last_instruction=(T0 *)n;}}
- else {
- {T245 *n=((T245*)new(245));
- rT245make(n,_sp,_type,_writable,_call);
- C->_last_instruction=(T0 *)n;}}
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_creation_clause(T49 *C){
- T0 * _creation_clause=NULL;
- T0* _list=NULL;
- T0 * _comments=NULL;
- T0 * _clients=NULL;
- _clients=rT49a_clients(C);
- _comments=rT49get_comments(C);
- /*IF*/if (rT49a_feature_list(C)) {
- _list=(C)->_last_feature_list;
- {T130 *n=((T130*)new(130));
- rT130make(n,_clients,_comments,_list);
- _creation_clause=(T0 *)n;}
- rT48add_creation_clause((T48*)(C)->_last_base_class,_creation_clause);
- }
- else {
- /*IF*/if ((((int)_comments))||(((int)_clients))) {
- /*IF*/if (((int)_comments)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(((T57*)_comments)->_start_position);
- }
- /*FI*//*IF*/if (((int)_clients)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(((T121*)_clients)->_start_position);
- }
- /*FI*/rT43warning((T43*)oRBC27eh,(T0 *)ms250);
- }
- /*FI*/}
- /*FI*/}
- int rT49a_argument(T49 *C){
- int R=0;
- int _rank=0;
- /*IF*/if (((int)(C)->_arguments)) {
- _rank=rT90rank_of((T90*)(C)->_arguments,rT49tmp_name());
- /*IF*/if ((_rank)>(0)) {
- C->_last_expression=rT67to_argument_name((T67*)rT49tmp_name(),(C)->_arguments,_rank);
- R=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT49a_after_a_dot(T49 *C,int a1,T0 * a2){
- T0 * _eal=NULL;
- T0 * _fn=NULL;
- /*IF*/if (rT49a_identifier(C)) {
- /*IF*/if (((rT49a_result(C))||(rT49a_void(C)))||(rT49a_current(C))) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT66start_position((C)->_last_expression));
- rT43error((T43*)oRBC27eh,(T0 *)ms294);
- }
- /*FI*/_fn=rT67to_feature_name((T67*)rT49tmp_name());
- _eal=rT49a_actuals(C);
- rT49a_r10(C,a1,a2,_fn,_eal);
- }
- else {
- rT49fcp(C,(T0 *)ms297);
- }
- /*FI*/}
- void rT49a_redefine_list(T49 *C){
- /*IF*/if (rT49a_feature_list(C)) {
- rT116set_redefine((T116*)(C)->_last_parent,(C)->_last_feature_list);
- }
- /*FI*/}
- int rT49a_index_clause(T49 *C){
- int R=0;
- T0 * _index_clause=NULL;
- /*IF*/if (rT49a_feature_name(C)) {
- R=1;
- /*IF*/if (rT49skip1(C,'\72')) {
- {T63 *n=((T63*)new(63));
- /*(IRF3*/((n)->_index)=(XrT65to_string((C)->_last_feature_name));
- /*)*/_index_clause=(T0 *)n;}
- /*IF*/if (rT49a_index_value(C)) {
- rT63add_index_value((T63*)_index_clause,(C)->_last_index_value);
- }
- else {
- rT49fcp(C,(T0 *)ms174);
- }
- /*FI*/}
- else {
- {T63 *n=((T63*)new(63));
- /*(IRF3*/((n)->_index)=(NULL);
- /*)*/_index_clause=(T0 *)n;}
- rT63add_index_value((T63*)_index_clause,(C)->_last_feature_name);
- }
- /*FI*/}
- else if (rT49a_manifest_constant(C)) {
- R=1;
- {T63 *n=((T63*)new(63));
- /*(IRF3*/((n)->_index)=(NULL);
- /*)*/_index_clause=(T0 *)n;}
- rT63add_index_value((T63*)_index_clause,(C)->_last_manifest_constant);
- }
- /*FI*//*IF*/if (R) {
- while (!(!(rT49skip1(C,'\54')))) {
- /*IF*/if (rT49a_index_value(C)) {
- rT63add_index_value((T63*)_index_clause,(C)->_last_index_value);
- }
- else {
- rT49fcp(C,(T0 *)ms174);
- }
- /*FI*/}
- rT48add_index_clause((T48*)(C)->_last_base_class,_index_clause);
- }
- /*FI*/return R;
- }
- void rT49a_index_list(T49 *C){
- while (!(!(rT49a_index_clause(C)))) {
- C->_ok=rT49skip1(C,'\73');
- }
- }
- void rT49a_indexing(T49 *C){
- /*IF*/if (rT49a_keyword(C,(T0 *)ms78)) {
- rT49a_index_list(C);
- }
- /*FI*/}
- int rT49a_index_value(T49 *C){
- int R=0;
- /*IF*/if (rT49a_feature_name(C)) {
- C->_last_index_value=(C)->_last_feature_name;
- R=1;
- }
- else if (rT49a_manifest_constant(C)) {
- C->_last_index_value=(C)->_last_manifest_constant;
- R=1;
- }
- /*FI*/return R;
- }
- int rT49a_tag_mark(T49 *C){
- int R=0;
- /*IF*/if (rT49a_identifier(C)) {
- /*IF*/if (rT49skip1unless2(C,'\72','\75')) {
- R=1;
- C->_last_tag_mark=rT67to_tag_name((T67*)rT49tmp_name());
- }
- else {
- C->_last_tag_mark=NULL;
- rT49go_back_at(C,((T67*)rT49tmp_name())->_li,((T67*)rT49tmp_name())->_co);
- }
- /*FI*/}
- else {
- C->_last_tag_mark=NULL;
- }
- /*FI*/return R;
- }
- int rT49a_manifest_constant(T49 *C){
- int R=0;
- /*IF*/if (rT49a_boolean_constant(C)) {
- C->_last_manifest_constant=(C)->_last_boolean_constant;
- R=1;
- }
- else if (rT49a_character_constant(C)) {
- C->_last_manifest_constant=(C)->_last_character_constant;
- R=1;
- }
- else if (rT49a_manifest_string(C)) {
- C->_last_manifest_constant=(C)->_last_manifest_string;
- R=1;
- }
- else if (rT49a_bit_constant(C)) {
- C->_last_manifest_constant=(C)->_last_bit_constant;
- R=1;
- }
- else if (rT49a_real_constant(C)) {
- C->_last_manifest_constant=(C)->_last_real_constant;
- R=1;
- }
- else if (rT49a_integer_constant(C)) {
- C->_last_manifest_constant=(C)->_last_integer_constant;
- R=1;
- }
- /*FI*/return R;
- }
- int rT49a_manifest_string(T49 *C){
- int R=0;
- int _state=0;
- /*IF*/if (((C)->_cc)==('\42')) {
- R=1;
- {T74 *n=((T74*)new(74));
- rT74make(n,rT49pos((C)->_line,(C)->_column));
- C->_last_manifest_string=(T0 *)n;}
- while (!((_state)>(3))) {
- rT49next_char(C);
- {int iv1=_state;
- if (0 == iv1) goto l306;
- goto l307;
- l306: ;
- {int iv2=(C)->_cc;
- if (10 == iv2) goto l309;
- goto l310;
- l309: ;
- rT49fcp(C,(T0 *)ms165);
- goto l308;
- l310: ;
- if (34 == iv2) goto l311;
- goto l312;
- l311: ;
- _state=4;
- goto l308;
- l312: ;
- if (37 == iv2) goto l313;
- goto l314;
- l313: ;
- _state=1;
- goto l308;
- l314: ;
- rT74add((T74*)(C)->_last_manifest_string,(C)->_cc);
- l308: ;
- }
- goto l305;
- l307: ;
- if (1 == iv1) goto l315;
- goto l316;
- l315: ;
- _state=0;
- {int iv2=(C)->_cc;
- if (10 == iv2) goto l318;
- goto l319;
- l318: ;
- _state=3;
- goto l317;
- l319: ;
- if (65 == iv2) goto l320;
- goto l321;
- l320: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\100');
- goto l317;
- l321: ;
- if (66 == iv2) goto l322;
- goto l323;
- l322: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\10');
- goto l317;
- l323: ;
- if (67 == iv2) goto l324;
- goto l325;
- l324: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\136');
- goto l317;
- l325: ;
- if (68 == iv2) goto l326;
- goto l327;
- l326: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\44');
- goto l317;
- l327: ;
- if (70 == iv2) goto l328;
- goto l329;
- l328: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\14');
- goto l317;
- l329: ;
- if (72 == iv2) goto l330;
- goto l331;
- l330: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\134');
- goto l317;
- l331: ;
- if (76 == iv2) goto l332;
- goto l333;
- l332: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\176');
- goto l317;
- l333: ;
- if (78 == iv2) goto l334;
- goto l335;
- l334: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\12');
- goto l317;
- l335: ;
- if (81 == iv2) goto l336;
- goto l337;
- l336: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\140');
- goto l317;
- l337: ;
- if (82 == iv2) goto l338;
- goto l339;
- l338: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\15');
- goto l317;
- l339: ;
- if (83 == iv2) goto l340;
- goto l341;
- l340: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\43');
- goto l317;
- l341: ;
- if (84 == iv2) goto l342;
- goto l343;
- l342: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\11');
- goto l317;
- l343: ;
- if (85 == iv2) goto l344;
- goto l345;
- l344: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\0');
- goto l317;
- l345: ;
- if (86 == iv2) goto l346;
- goto l347;
- l346: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\174');
- goto l317;
- l347: ;
- if (37 == iv2) goto l348;
- goto l349;
- l348: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\45');
- goto l317;
- l349: ;
- if (39 == iv2) goto l350;
- goto l351;
- l350: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\47');
- goto l317;
- l351: ;
- if (34 == iv2) goto l352;
- goto l353;
- l352: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\42');
- goto l317;
- l353: ;
- if (40 == iv2) goto l354;
- goto l355;
- l354: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\133');
- goto l317;
- l355: ;
- if (41 == iv2) goto l356;
- goto l357;
- l356: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\135');
- goto l317;
- l357: ;
- if (60 == iv2) goto l358;
- goto l359;
- l358: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\173');
- goto l317;
- l359: ;
- if (62 == iv2) goto l360;
- goto l361;
- l360: ;
- rT74add_percent((T74*)(C)->_last_manifest_string,'\175');
- goto l317;
- l361: ;
- if (47 == iv2) goto l362;
- goto l363;
- l362: ;
- rT49a_ascii_code(C);
- rT74add_ascii((T74*)(C)->_last_manifest_string,(C)->_last_ascii_code);
- goto l317;
- l363: ;
- if (9 == iv2) goto l364;
- if (32 == iv2) goto l364;
- goto l365;
- l364: ;
- _state=2;
- goto l317;
- l365: ;
- rT49fcp(C,(T0 *)ms166);
- _state=0;
- l317: ;
- }
- goto l305;
- l316: ;
- if (2 == iv1) goto l366;
- goto l367;
- l366: ;
- {int iv2=(C)->_cc;
- if (10 == iv2) goto l369;
- goto l370;
- l369: ;
- _state=3;
- goto l368;
- l370: ;
- if (9 == iv2) goto l371;
- if (32 == iv2) goto l371;
- goto l372;
- l371: ;
- goto l368;
- l372: ;
- rT49fcp(C,(T0 *)ms167);
- l368: ;
- }
- goto l305;
- l367: ;
- {int iv2=(C)->_cc;
- if (9 == iv2) goto l374;
- if (32 == iv2) goto l374;
- goto l375;
- l374: ;
- goto l373;
- l375: ;
- if (37 == iv2) goto l376;
- goto l377;
- l376: ;
- rT74break_line((T74*)(C)->_last_manifest_string);
- _state=0;
- goto l373;
- l377: ;
- if (10 == iv2) goto l378;
- goto l379;
- l378: ;
- rT49fcp(C,(T0 *)ms165);
- _state=0;
- goto l373;
- l379: ;
- rT49fcp(C,(T0 *)ms168);
- _state=0;
- l373: ;
- }
- l305: ;
- }
- }
- rT49next_char(C);
- rT49skip_comments(C);
- }
- /*FI*/return R;
- }
- int rT49a_infix(T49 *C){
- int R=0;
- T0 * _sp=NULL;
- /*IF*/if (rT49a_keyword(C,(T0 *)ms88)) {
- R=1;
- {T44 *n=((T44*)new(44));
- rT44make(n,(C)->_start_line,(C)->_start_column);
- _sp=(T0 *)n;}
- /*IF*/if (((C)->_cc)==('\42')) {
- rT49next_char(C);
- }
- else {
- rT49wcp(C,(T0 *)ms89);
- }
- /*FI*//*IF*/if (rT49a_binary(C,_sp)) {
- C->_last_infix=(C)->_last_binary;
- }
- else if (rT49a_free_operator(C)) {
- C->_last_infix=rT67to_infix_name((T67*)rT49tmp_operator(),_sp);
- }
- else {
- rT49fcp(C,(T0 *)ms107);
- }
- /*FI*//*IF*/if (!(rT49skip1(C,'\42'))) {
- rT49wcp(C,(T0 *)ms108);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int rT49a_free_operator(T49 *C){
- int R=0;
- /*IF*/if ((((((C)->_cc)==('\100'))||(((C)->_cc)==('\43')))||(((C)->_cc)==('\174')))||(((C)->_cc)==('\46'))) {
- R=1;
- rT67make((T67*)rT49tmp_operator(),(C)->_line,(C)->_column);
- rT67extend((T67*)rT49tmp_operator(),(C)->_cc);
- rT49next_char(C);
- while (!((((((C)->_cc)==('\12'))||(((C)->_cc)==('\40')))||(((C)->_cc)==('\11')))||(((C)->_cc)==('\42')))) {
- rT67extend((T67*)rT49tmp_operator(),(C)->_cc);
- rT49next_char(C);
- }
- rT49skip_comments(C);
- }
- /*FI*/return R;
- }
- void rT49a_local_var_list(T49 *C,T0 * a1){
- int _state=0;
- int _rank=0;
- T0* _list=NULL;
- T0 * _declaration=NULL;
- T0* _name_list=NULL;
- T0 * _name=NULL;
- while (!((_state)>(4))) {
- {int iv1=_state;
- if (0 == iv1) goto l381;
- goto l382;
- l381: ;
- /*IF*/if (rT49a_identifier(C)) {
- _name=rT67to_decl_name((T67*)rT49tmp_name());
- _state=1;
- /*IF*/if (((int)(C)->_arguments)) {
- _rank=rT90rank_of((T90*)(C)->_arguments,_name);
- /*IF*/if ((_rank)>(0)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(((T95*)_name)->_start_position);
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT47start_position(rT90name((T90*)(C)->_arguments,_rank)));
- rT43error((T43*)oRBC27eh,(T0 *)ms326);
- }
- /*FI*/}
- /*FI*/}
- else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\73'))) {
- rT49wcp(C,(T0 *)ms256);
- C->_ok=(rT49skip1(C,'\54'))||(rT49skip1(C,'\73'));
- }
- else {
- _state=5;
- }
- /*FI*/goto l380;
- l382: ;
- if (1 == iv1) goto l383;
- goto l384;
- l383: ;
- /*IF*/if (rT49skip1(C,'\72')) {
- /*IF*/if (((int)_name_list)) {
- rT139add_last((T139*)_name_list,_name);
- _name=NULL;
- }
- /*FI*/_state=3;
- }
- else {
- /*IF*/if (((C)->_cc)==('\73')) {
- rT49wcp(C,(T0 *)ms327);
- C->_ok=rT49skip1(C,'\73');
- }
- else {
- C->_ok=rT49skip1(C,'\54');
- }
- /*FI*//*IF*/if (!(_name_list)) {
- _name_list=ma(139,0,1,_name);
- }
- else {
- rT139add_last((T139*)_name_list,_name);
- }
- /*FI*/_name=NULL;
- _state=2;
- }
- /*FI*/goto l380;
- l384: ;
- if (2 == iv1) goto l385;
- goto l386;
- l385: ;
- /*IF*/if (rT49a_identifier(C)) {
- _name=rT67to_decl_name((T67*)rT49tmp_name());
- _state=1;
- /*IF*/if (((int)(C)->_arguments)) {
- _rank=rT90rank_of((T90*)(C)->_arguments,_name);
- /*IF*/if ((_rank)>(0)) {
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(((T95*)_name)->_start_position);
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT47start_position(rT90name((T90*)(C)->_arguments,_rank)));
- rT43error((T43*)oRBC27eh,(T0 *)ms328);
- }
- /*FI*/}
- /*FI*/}
- else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\73'))) {
- rT49wcp(C,(T0 *)ms256);
- C->_ok=(rT49skip1(C,'\54'))||(rT49skip1(C,'\73'));
- }
- else {
- _state=6;
- }
- /*FI*/goto l380;
- l386: ;
- if (3 == iv1) goto l387;
- goto l388;
- l387: ;
- /*IF*/if (rT49a_type(C)) {
- /*IF*/if (((int)_name_list)) {
- {T140 *n=((T140*)new(140));
- rT140make(n,_name_list,(C)->_last_type);
- _declaration=(T0 *)n;}_name_list=NULL;
- }
- else {
- {T92 *n=((T92*)new(92));
- rT92make(n,_name,(C)->_last_type);
- _declaration=(T0 *)n;}_name=NULL;
- }
- /*FI*//*IF*/if (!(_list)) {
- _list=ma(141,0,1,_declaration);
- }
- else {
- XrT141add_last(_list,_declaration);
- }
- /*FI*/_state=4;
- }
- else {
- _state=6;
- }
- /*FI*/goto l380;
- l388: ;
- /*IF*/if (((C)->_cc)==('\54')) {
- rT49wcp(C,(T0 *)ms329);
- C->_ok=rT49skip1(C,'\54');
- _state=0;
- }
- else {
- C->_ok=rT49skip1(C,'\73');
- _state=0;
- }
- /*FI*/ l380: ;
- }
- }
- /*IF*/if ((_state)==(6)) {
- rT49fcp(C,(T0 *)ms330);
- }
- else if (((int)_list)) {
- {T137 *n=((T137*)new(137));
- rT137make(n,a1,_list);
- C->_local_vars=(T0 *)n;}
- /*(IRF3*/(((T134*)oRBC49tmp_feature)->_local_vars)=((C)->_local_vars);
- /*)*/}
- /*FI*/}
- int rT49a_local_variable(T49 *C){
- int R=0;
- int _rank=0;
- /*IF*/if (((int)(C)->_local_vars)) {
- _rank=rT137rank_of((T137*)(C)->_local_vars,rT49tmp_name());
- /*IF*/if ((_rank)>(0)) {
- C->_last_expression=rT67to_local_name((T67*)rT49tmp_name(),(C)->_local_vars,_rank);
- R=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT49a_compound2(T49 *C,T0* a1,T0* a2){
- T0 * R=NULL;
- T0 * _instruction=NULL;
- T0* _list=NULL;
- T0 * _hc=NULL;
- _hc=rT49get_comments(C);
- while (!(((C)->_cc)!=('\73'))) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- while (!((!(rT49a_instruction(C)))||((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)>(10)))) {
- _instruction=(C)->_last_instruction;
- /*IF*/if (((C)->_cc)==('\50')) {
- rT49wcp(C,(T0 *)ms240);
- }
- /*FI*/C->_ok=rT49skip1(C,'\73');
- while (!(((C)->_cc)!=('\73'))) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- /*IF*/if ((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- /*IF*/if (!(_list)) {
- _list=ma(215,0,1,XrT174add_comment(_instruction,rT49get_comments(C)));
- }
- else {
- rT215add_last((T215*)_list,XrT174add_comment(_instruction,rT49get_comments(C)));
- }
- /*FI*/}
- /*FI*/}
- /*IF*/if (!(rT49a_keyword(C,a2))) {
- /*UT*/(T43*)oRBC27eh;
- rT43append((T0 *)ms347);
- /*UT*/(T43*)oRBC27eh;
- rT43append(a1);
- /*UT*/(T43*)oRBC27eh;
- rT43append((T0 *)ms348);
- /*UT*/(T43*)oRBC27eh;
- rT43append(a2);
- rT49fcp(C,(T0 *)ms349);
- }
- /*FI*//*IF*/if ((((int)_hc))||(((int)_list))) {
- {T138 *n=((T138*)new(138));
- rT138make(n,_hc,_list);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- T0 * rT49a_compound1(T49 *C,T0* a1){
- T0 * R=NULL;
- T0 * _instruction=NULL;
- T0* _list=NULL;
- T0 * _hc=NULL;
- _hc=rT49get_comments(C);
- while (!(((C)->_cc)!=('\73'))) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- while (!((!(rT49a_instruction(C)))||((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)>(10)))) {
- _instruction=(C)->_last_instruction;
- /*IF*/if (((C)->_cc)==('\50')) {
- rT49wcp(C,(T0 *)ms240);
- }
- /*FI*/C->_ok=rT49skip1(C,'\73');
- while (!(((C)->_cc)!=('\73'))) {
- rT49wcp(C,(T0 *)ms236);
- C->_ok=rT49skip1(C,'\73');
- }
- /*IF*/if ((/*(IRF4*/((T43*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- /*IF*/if (!(_list)) {
- _list=ma(215,0,1,XrT174add_comment(_instruction,rT49get_comments(C)));
- }
- else {
- rT215add_last((T215*)_list,XrT174add_comment(_instruction,rT49get_comments(C)));
- }
- /*FI*/}
- /*FI*/}
- /*IF*/if ((((int)_hc))||(((int)_list))) {
- {T138 *n=((T138*)new(138));
- rT138make(n,_hc,_list);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- int rT49a_bit_constant(T49 *C){
- int R=0;
- T0* _sequence=NULL;
- int _state=0;
- /*IF*/if ((((C)->_cc)==('0'))||(((C)->_cc)==('1'))) {
- {T7 *n=((T7*)new(7));
- rT7make(n,16);
- _sequence=(T0 *)n;}
- rT7extend((T7*)_sequence,(C)->_cc);
- while (!((_state)>(0))) {
- rT49next_char(C);
- {int iv1=(C)->_cc;
- if ((48 <= iv1) && (iv1<= 49)) goto l390;
- goto l391;
- l390: ;
- rT7extend((T7*)_sequence,(C)->_cc);
- goto l389;
- l391: ;
- if (66 == iv1) goto l392;
- if (98 == iv1) goto l392;
- goto l393;
- l392: ;
- {T75 *n=((T75*)new(75));
- /*(IRF3*/((n)->_value)=(_sequence);
- /*)*/C->_last_bit_constant=(T0 *)n;}
- rT49next_char(C);
- rT49skip_comments(C);
- _state=1;
- R=1;
- goto l389;
- l393: ;
- _state=((T7*)_sequence)->_count;
- while (!((_state)==(0))) {
- _state=(_state)-(1);
- rT49prev_char(C);
- }
- _state=2;
- l389: ;
- }
- }
- }
- /*FI*/return R;
- }
- int rT3same_as(T3 C,char a1){
- int R=0;
- R=(rT3to_lower(C))==(rT3to_lower(a1));
- return R;
- }
- char rT3to_upper(T3 C){
- char R='\0';
- /*IF*/if ((((unsigned char)C))<(97)) {
- R=C;
- }
- else if ((((unsigned char)C))>(122)) {
- R=C;
- }
- else {
- R=(((unsigned char)C))-(32);
- }
- /*FI*/return R;
- }
- int rT3is_digit(T3 C){
- int R=0;
- {int iv1=C;
- if ((48 <= iv1) && (iv1<= 57)) goto l395;
- goto l396;
- l395: ;
- R=1;
- goto l394;
- l396: ;
- l394: ;
- }
- return R;
- }
- int rT3is_letter(T3 C){
- int R=0;
- {int iv1=C;
- if ((65 <= iv1) && (iv1<= 90)) goto l398;
- if ((97 <= iv1) && (iv1<= 122)) goto l398;
- goto l399;
- l398: ;
- R=1;
- goto l397;
- l399: ;
- l397: ;
- }
- return R;
- }
- int rT3is_separator(T3 C){
- int R=0;
- {int iv1=C;
- if (0 == iv1) goto l401;
- if ((9 <= iv1) && (iv1<= 10)) goto l401;
- if (13 == iv1) goto l401;
- if (32 == iv1) goto l401;
- goto l402;
- l401: ;
- R=1;
- goto l400;
- l402: ;
- l400: ;
- }
- return R;
- }
- int rT3value(T3 C){
- int R=0;
- R=(((unsigned char)C))-(48);
- return R;
- }
- char rT3to_lower(T3 C){
- char R='\0';
- /*IF*/if ((((unsigned char)C))<(65)) {
- R=C;
- }
- else if ((((unsigned char)C))>(90)) {
- R=C;
- }
- else {
- R=(((unsigned char)C))+(32);
- }
- /*FI*/return R;
- }
- void rT171bracketed_print(T171 *C){
- rT259put_character((T259*)oRBC27fmt,'\50');
- rT171pretty_print(C);
- rT259put_character((T259*)oRBC27fmt,'\51');
- }
- void rT171error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT43error((T43*)oRBC27eh,a2);
- }
- T0 * rT171add_comment(T171 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T218 *n=((T218*)new(218));
- rT218make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- void rT171print_as_target(T171 *C){
- rT171error(rT171start_position(C),(T0 *)ms504);
- }
- T0 * rT171start_position(T171 *C){
- T0 * R=NULL;
- R=XrT65start_position((C)->_feature_name);
- return R;
- }
- void rT171pretty_print(T171 *C){
- rT259put_character((T259*)oRBC27fmt,'\44');
- XrT65pretty_print((C)->_feature_name);
- }
- void rT171copy(T171 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT203first_name(T203 *C){
- T0 * R=NULL;
- R=rT126item((T126*)(C)->_names,1);
- return R;
- }
- void rT203error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT43error((T43*)oRBC27eh,a2);
- }
- T0 * rT203start_position(T203 *C){
- T0 * R=NULL;
- R=XrT65start_position(rT203first_name(C));
- return R;
- }
- void rT203pretty_print_arguments(T203 *C){
- /*IF*/if (((int)(C)->_arguments)) {
- rT90pretty_print((T90*)(C)->_arguments);
- }
- /*FI*/}
- void rT203pretty_print_one_name(/*C*/T0 * a1){
- /*IF*/if (XrT65is_frozen(a1)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
- }
- /*FI*/XrT65pretty_print(a1);
- }
- void rT203pretty_print_names(T203 *C){
- int _i=0;
- _i=1;
- rT203pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
- _i=(_i)+(1);
- while (!((_i)>(rT126count((T126*)(C)->_names)))) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
- rT203pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
- _i=(_i)+(1);
- }
- }
- void rT203pretty_print_profile(T203 *C){
- rT203pretty_print_names(C);
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT203pretty_print_arguments(C);
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
- /*)*//*IF*/if (((int)(C)->_result_type)) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
- XrT56pretty_print((C)->_result_type);
- }
- /*FI*/}
- void rT203pretty_print(T203 *C){
- T0 * _fn=NULL;
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT203pretty_print_profile(C);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
- /*IF*/if (((int)(C)->_obsolete_mark)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
- rT74pretty_print((T74*)(C)->_obsolete_mark);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- /*IF*/if (((int)(C)->_header_comment)) {
- rT57pretty_print((T57*)(C)->_header_comment);
- }
- /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- /*(IRF3*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms521);
- /*)*//*IF*/if (((int)(C)->_ensure_assertion)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
- }
- /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
- rT138pretty_print((T138*)(C)->_rescue_compound);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
- /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
- rT57pretty_print((T57*)(C)->_end_comment);
- }
- else if (((T259*)oRBC27fmt)->_print_end_routine) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
- _fn=rT203first_name(C);
- /*IF*/if (XrT65is_prefix_name(_fn)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
- rT259put_character((T259*)oRBC27fmt,'\42');
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- rT259put_character((T259*)oRBC27fmt,'\42');
- }
- else if (XrT65is_infix_name(_fn)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
- rT259put_character((T259*)oRBC27fmt,'\42');
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- rT259put_character((T259*)oRBC27fmt,'\42');
- }
- else {
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- }
- /*FI*/}
- /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
- }
- void rT203add_into(T203 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT126count((T126*)(C)->_names)))) {
- _fn=rT126item((T126*)(C)->_names,_i);
- /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
- _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT65start_position(_fn));
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
- rT43error((T43*)oRBC27eh,(T0 *)ms417);
- /*UT*/(T43*)oRBC27eh;
- rT43append(XrT65to_string(_fn));
- rT43error((T43*)oRBC27eh,(T0 *)ms37);
- }
- else {
- rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- void rT203set_header_comment(T203 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT203copy(T203 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT203set_rescue_compound(T203 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
- rT203error(rT203start_position(C),(T0 *)ms400);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT203make_e_feature(T203 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT203make_routine(T203 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT203make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT203make(T203 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6){
- rT203make_routine(C,a1,a2,a4,a5,a6);
- C->_result_type=a3;
- }
- T0 * rT202first_name(T202 *C){
- T0 * R=NULL;
- R=rT126item((T126*)(C)->_names,1);
- return R;
- }
- void rT202error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(a1);
- rT43error((T43*)oRBC27eh,a2);
- }
- T0 * rT202start_position(T202 *C){
- T0 * R=NULL;
- R=XrT65start_position(rT202first_name(C));
- return R;
- }
- void rT202pretty_print_arguments(T202 *C){
- /*IF*/if (((int)(C)->_arguments)) {
- rT90pretty_print((T90*)(C)->_arguments);
- }
- /*FI*/}
- void rT202pretty_print_one_name(/*C*/T0 * a1){
- /*IF*/if (XrT65is_frozen(a1)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
- }
- /*FI*/XrT65pretty_print(a1);
- }
- void rT202pretty_print_names(T202 *C){
- int _i=0;
- _i=1;
- rT202pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
- _i=(_i)+(1);
- while (!((_i)>(rT126count((T126*)(C)->_names)))) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
- rT202pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
- _i=(_i)+(1);
- }
- }
- void rT202pretty_print_profile(T202 *C){
- rT202pretty_print_names(C);
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT202pretty_print_arguments(C);
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
- /*)*//*IF*/if (((int)(C)->_result_type)) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
- XrT56pretty_print((C)->_result_type);
- }
- /*FI*/}
- void rT202pretty_print(T202 *C){
- T0 * _fn=NULL;
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT202pretty_print_profile(C);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
- /*IF*/if (((int)(C)->_obsolete_mark)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
- rT74pretty_print((T74*)(C)->_obsolete_mark);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- /*IF*/if (((int)(C)->_header_comment)) {
- rT57pretty_print((T57*)(C)->_header_comment);
- }
- /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- /*(IRF3*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms521);
- /*)*//*IF*/if (((int)(C)->_ensure_assertion)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
- }
- /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
- /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
- rT138pretty_print((T138*)(C)->_rescue_compound);
- }
- /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
- /*)*/rT259indent((T259*)oRBC27fmt);
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
- /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
- rT57pretty_print((T57*)(C)->_end_comment);
- }
- else if (((T259*)oRBC27fmt)->_print_end_routine) {
- rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
- _fn=rT202first_name(C);
- /*IF*/if (XrT65is_prefix_name(_fn)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
- rT259put_character((T259*)oRBC27fmt,'\42');
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- rT259put_character((T259*)oRBC27fmt,'\42');
- }
- else if (XrT65is_infix_name(_fn)) {
- rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
- rT259put_character((T259*)oRBC27fmt,'\42');
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- rT259put_character((T259*)oRBC27fmt,'\42');
- }
- else {
- rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
- }
- /*FI*/}
- /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
- }
- void rT202add_into(T202 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT126count((T126*)(C)->_names)))) {
- _fn=rT126item((T126*)(C)->_names,_i);
- /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
- _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT65start_position(_fn));
- /*UT*/(T43*)oRBC27eh;
- rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
- rT43error((T43*)oRBC27eh,(T0 *)ms417);
- /*UT*/(T43*)oRBC27eh;
- rT43append(XrT65to_string(_fn));
- rT43error((T43*)oRBC27eh,(T0 *)ms37);
- }
- else {
- rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- void rT202set_header_comment(T202 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT202copy(T202 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT202set_rescue_compound(T202 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
- rT202error(rT202start_position(C),(T0 *)ms400);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT202make_e_feature(T202 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
-